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

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

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

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

你可能感兴趣的:(scrollview,滚动,禁止,scrollview自动滚动)