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

本文介绍了一个关于ScrollView与MapView适配的问题,在一个项目中,LinearLayout布局上方与MapView下方导致页面超出屏幕显示范围,通过使用ScrollView解决布局超出问题,但在进入页面时地图加载引起ScrollView自动滚动到底部。文中提供了一种解决方案,即重写scrollView中的computeScrollDeltaToGetChildRectOnScreen方法并将其返回值设为0。
3167

被折叠的 条评论
为什么被折叠?



