安卓使ScrollView滚动到底部代码

在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等,这里有两种办法,第一种,使用scrollTo():第一种实现相对比较麻烦,更推荐使用第二种方式,使用fullScro

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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

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

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在新线程中更新

// 何问起 hovertree.com
handler.post(new Runnable() {  
    @Override  
    public void run() {  
        scrollView.fullScroll(ScrollView.FOCUS_DOWN);  
    }  
});  

http://www.cnblogs.com/roucheng/p/androidservice.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2021年12月23日 下午6:00
下一篇 2021年12月23日 下午6:00


相关推荐

  • 神经网络之梯度下降法及其实现

    神经网络之梯度下降法及其实现本文将从一个下山的场景开始 先提出梯度下降算法的基本思想 进而从数学上解释梯度下降算法的原理 最后实现一个简单的梯度下降算法的实例 文章目录一 梯度下降的场景假设二 梯度三 梯度下降算法的数学解释四 梯度下降算法的实例五 梯度下降算法的实现一 梯度下降的场景假设梯度下降法的基本思想可以类比为一个下山的过程 假设这样一个场景 一个人被困在山上 需要从山上下来 i e 找到山的最低点 也就是山

    2026年3月17日
    2
  • CTK的编译「建议收藏」

    CTK的编译「建议收藏」CTK的编译CTK主要是一个基于QT的GUI开发框架,用于医学成像、外科导航等相关的项目。典型的应用就是3DSclier。在医学图像的软件开发中,ctk通常和vtk、ITK等开源库一起使用。一些编译的问题在CTK中编译QT的5.10等较高版本时可能遇到的问题:(1)VTK编译错误CTK默认下载的VTK版本比较旧,编译过程可能会遇到C++语法方面的错误,这时可以更改Git中下载的VT…

    2022年6月5日
    36
  • jedis连接redis3.2.9集群密码问题[通俗易懂]

    jedis连接redis3.2.9集群密码问题[通俗易懂]转载来自:https://www.cnblogs.com/snowstar123/p/5696052.html主要想说的是,源码中对于jedis连接redisclsuter没有设置密码,所以会一直报错说NOAUTH认证需要。后来,在改篇文章的评论中有如下:#1楼 2016-12-2814:21 破壁人  您好按照您的方式进行了修改,但是问题依然出现报错,NOAUTHAuthenticatio…

    2025年9月16日
    11
  • 建议收藏 | 最全的 JS 逆向入门教程合集

    建议收藏 | 最全的 JS 逆向入门教程合集点击上方 咸鱼学 Python 选择 加为星标 第一时间关注 Python 技术干货 嘿 大家好 截止今天咸鱼零零散散分享爬虫 数据分析基础和 Web 的内容已经 136 篇

    2026年3月18日
    2
  • 查找历史市盈率

    查找历史市盈率https://www.zhihu.com/question/28424413

    2022年8月3日
    6
  • getParameterValues用法

    getParameterValues用法getParameterValues用法你希望学习哪些程式语言:JSP  PHP  PERL    这些inputtype名称都叫做langtype,如果用request.getParameter(“langtype”)来取这些值,到底要取哪一个?所以在这个时候,不能用getParameter来取资料,而应该用getParameterValues来取资

    2022年7月22日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号