转发请备注原文链接地址:https://www.niwoxuexi.com/blog/android/article/221.html
我们在开发的过程中,经常会遇到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); } }); }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。