Android设置ScrollView滚动到底部和顶部

转发请备注原文链接地址:https://www.niwoxuexi.com/blog/android/article/221.html

创新互联主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、响应式网站开发、程序开发、网站优化、微网站、成都微信小程序等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的成都网站设计、做网站、网站设计、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体。

我们在开发的过程中,经常会遇到ScrollView滚动到底部和顶部的情况,下面是一种简单的设置方法

1,设置ScrollView滚动到顶部

//设置ScrollView滚动到顶部
scrollView.fullScroll(ScrollView.FOCUS_UP);

2,设置ScrollView滚动到底部

//设置ScrollView滚动到顶部 
scrollView.fullScroll(ScrollView.FOCUS_DOWN);

需要注意的是,该方法在页面还没有显示出来的时候是不能直接调用的。
因为Android很多函数都是基于消息队列来同步,在addView完之后,不等于马上就会显示,而是在队列中等待处理。这个时候调用会报错


应对方法通过handler在新线程中更新:例如:

Handler handler = new Handler();
handler.post(new Runnable() {
    @Override
    public void run() {
        //设置ScrollView滚动到顶部
         scrollView.fullScroll(ScrollView.FOCUS_UP);
    }
});

当然网上还有另一种解决方案:有点复杂:调用用scrollTo()方法

public static void scrollToBottom(final View scroll, final View innerView) {
    Handler handler = new Handler();
    handler.post(new Runnable() {
        public void run() {
            if (scroll == null || innerView == null) {
                return;
            }
            int offset = innerView.getMeasuredHeight() - scroll.getHeight();
            if (offset < 0) 
                offset = 0;

            scroll.scrollTo(0, offset);
        }
    });
}

文章题目:Android设置ScrollView滚动到底部和顶部
链接地址:http://hbruida.cn/article/jdejsj.html