当ScrollView包含TextView,当前页面超出scrollview显示页面需要自动滚动到底部时,发现不能完全滚动到底部。这是因为Android下很多函数都是基于消息的,用消息队列来保证同步,所以函数条用多数是异步操作的。当给TextView设置了文字,不等于马上显示出来,而是将text添加到消息队列之后立刻返回,ScrollView滚动时,text可能还没显示出来,自然无法滚动到正确的位置。
用ScrollView的post方法即可解决这个问题:
mScrollView.post(new Runnable() {
@Override
public void run() {
int offset = mLinearLayout_all.getMeasuredHeight()-mScrollView.getMeasuredHeight();
if (offset > 0) {
mScrollView.scrollTo(0, offset);
}
}
});
ScrollView自动滚动问题
本文探讨了ScrollView中包含TextView时,由于消息队列机制导致的自动滚动到底部的问题,并提供了解决方案,即使用post方法确保内容完全加载后再进行滚动。
775

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



