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