前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安卓使ScrollView滚动到底部代码

安卓使ScrollView滚动到底部代码

作者头像
全栈程序员站长
发布2022-07-15 15:03:25
1.1K0
发布2022-07-15 15:03:25
举报

大家好,又见面了,我是全栈君

在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等,

这里有两种办法,第一种,使用scrollTo():

代码语言:javascript
复制
public static void scrollToBottom(final View scroll, final View inner) {  
  // 何问起 hovertree.com
Handler mHandler = new Handler();  
  
mHandler.post(new Runnable() {  
public void run() {  
if (scroll == null || inner == null) {  
return;  
}  
int offset = inner.getMeasuredHeight() - scroll.getHeight();  
if (offset < 0) {  
offset = 0;  
}  
  
scroll.scrollTo(0, offset);  
}  
});  
}  

第一种实现相对比较麻烦,更推荐使用第二种方式,使用fullScrol()

下面我们看一下这个函数:

scrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底部

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

需要注意的是,该方法不能直接被调用 因为Android很多函数都是基于消息队列来同步,所以需要一部操作, addView完之后,不等于马上就会显示,而是在队列中等待处理,虽然很快,但是如果立即调用fullScroll, view可能还没有显示出来,所以会失败 应该通过handler在新线程中更新

代码语言:javascript
复制
// 何问起 hovertree.com
handler.post(new Runnable() {  
    @Override  
    public void run() {  
        scrollView.fullScroll(ScrollView.FOCUS_DOWN);  
    }  
});  

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/120565.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年12月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档