ScrollView下嵌套Gridview进页面不在顶部的有关问题

来源:互联网 发布:电脑软件网址 编辑:程序博客网 时间:2024/05/23 00:41
        最近项目中用到了 Scrollview 内部嵌套 Gridview,写好后发现进入该界面时,会自动滚动到界面下方的某个位置。后经过网上搜索,发现原来是 Scrollview 内部布局改变后,它自动滚动了。
        解决方法:重写 Scrollview,重写其 computeScrollDeltaToGetChildRectOnScreen() 方法,禁止自动滚动

public class ObservableScrollView extends ScrollView {      private ScrollViewListener scrollViewListener = null;        public ObservableScrollView(Context context) {          super(context);      }        public ObservableScrollView(Context context, AttributeSet attrs,              int defStyle) {          super(context, attrs, defStyle);      }        public ObservableScrollView(Context context, AttributeSet attrs) {          super(context, attrs);      }        public void setScrollViewListener(ScrollViewListener scrollViewListener) {          this.scrollViewListener = scrollViewListener;      }        @Override      protected void onScrollChanged(int x, int y, int oldx, int oldy) {          super.onScrollChanged(x, y, oldx, oldy);          if (scrollViewListener != null) {              scrollViewListener.onScrollChanged(this, x, y, oldx, oldy);          }      }        @Override    protected int computeScrollDeltaToGetChildRectOnScreen(Rect rect) {    // TODO Auto-generated method stub    // 禁止scrollView内布局变化后自动滚动    return 0;    }  }




        原文链接:http://blog.csdn.net/betterandroid/article/details/41351683
        参考链接:http://www.eoeandroid.com/thread-554464-1-1.html

1 0
原创粉丝点击