安卓使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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DB-线性表

    DB-线性表

    2021年10月6日
    45
  • 计算机网络之ip、子网掩码、网络号、主机号等概念解析

    计算机网络之ip、子网掩码、网络号、主机号等概念解析在工作中谈论到计算机网络时,有几个经常出现的术语,比如:ip、子网掩码、网段等等。之前对这些概念的理解都比较模糊,只知其大概意思,随着工作中遇到的网络问题越来越多,有必要详细理解一下计算机网络的基础知识了。这篇文章就先介绍几个计算机网络领域的专业术语。IP地址ip这个词是计算机网络中出现频率最高的了,甚至只要使用过电脑的人都知道这个词。IP地址全程是互联网协议地址(英文:InternetPr…

    2022年6月24日
    38
  • android 测试用例模板下载,app测试用例模板.doc

    android 测试用例模板下载,app测试用例模板.docapp测试用例模板APP基本测试用例个人首页1.我的页面2.个人信息页面3.个性标签页面4.TA的页面消息页面消息页面发布商品和图片发布商品分享图片买买买页面买买买页面一级分类页面买手热荐品类二级分类页面侧边栏页面购物车页面我的钱包页面一、编号条件步骤预期结果实际结果1打开我的页面?出现我的信息(头像、昵称、签名、关注数、粉丝数、入手、出手)、中部出现切换我发表的与我喜欢的tab、下部列表出现内容…

    2022年7月17日
    12
  • ORA-01017: invalid username/password; logon denied Oracle数据库报错解决方案一

    ORA-01017: invalid username/password; logon denied Oracle数据库报错解决方案一ORA-01017:invalidusername/password;logondenied错误(程序中的用户和密码无法登录,登录被拒)。Oracle11g版本初次安装使用报错:解决方法1创建新用户:打开sqlplus以系统身份登录:指令如下sys/managerassysdba;创建新用户:语法:createuser用户名identifiedb…

    2022年5月6日
    144
  • java int最大值和最小值_excel中求最大值和最小值

    java int最大值和最小值_excel中求最大值和最小值Java中Integer的最大值和最小值.JavaByte的最大值和最小值.Javafloat的最大值和最小值.Javalong的最大值和最小值.

    2025年10月7日
    1
  • echarts+vue_vue安装echarts

    echarts+vue_vue安装echarts1.安装cnpminstallecharts-wordcloud2.创建模板组件WordCloudChart<template><div:id=”id”:style=”{height:height,width:width}”/></template><script>importechartsfrom”echarts/lib/echarts”;importresizefrom”@/m

    2022年10月9日
    2

发表回复

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

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