禁止ScrollView在子控件的布局改变时自动滚动的的方法

社会主义新天地 提交于 2019-12-04 22:01:35

最近在做一个项目,上面是一个LinearLayout布局,下面是一个百度地图的MapView控件,MapView控件的高度比较大,导致整个页面的的内容就超出了屏幕的显示区域,于是就在外面套了个scrollview,但新问题出现了,每次进入页面时,由于地图的加载导致scrollview总是自动滚动到了最底部,上面的LinearLayout区域只显示了下面的一部分,为了解决这个问题我用了scrollview.Fling(0)、scrollview.scrollTo(0,0);但都不管用,没想到看似简单的问题却变得如此地紧手,鼓捣了好久才找到最好的解决办法:

重写scrollview中的如下方法,并将其返回值设为0即可。

@Override
 protected int computeScrollDeltaToGetChildRectOnScreen(Rect rect) {
  
  return 0;
 }

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!