当前位置:   article > 正文

android scrollview自动滚动到底部,【Android】ScrollView滚动到底部的几种方式

android scrollview默认显示底部

前言:

当我们在使用ScrollView的时候,当前页面超出Scrollview显示页面需要自动滚动到底部时,发现不能完全滚动到底部。这是因为Android下很多函数都是基于消息的,用消息队列来保证同步,所以函数条用多数是异步操作的。当给ScrollView嵌套的布局设置内容时,不会马上显示出来,而是将内容添加到消息队列之后立刻返回,当ScrollView滚动时,添加的内容可能还没显示出来,自然无法滚动到正确的位置。这里给出2种常用的方式:

一、调用post方法

mScrollview.post(new Runnable() {

public void run() {

mScrollview.fullScroll(View.FOCUS_DOWN);

}

});

优点:代码简单。

缺点:当同时添加多个内容时,会出现不能滚动到底部。

二、调用addOnGlobalLayoutListener方法

mScrollview.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

@Override

public void onGlobalLayout() {

mScrollview.post(new Runnable() {

public void run() {

mScrollview.fullScroll(View.FOCUS_DOWN);

}

});

}

});

优点:当同时添加多个内容时,可以滚动到底部。

缺点:代码稍多。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/312591
推荐阅读
相关标签
  

闽ICP备14008679号