热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AndroidListView滚动到底部

如何解决《AndroidListView滚动到底部》经验,为你挑选了1个好方法。

我正在开发带有聊天的应用程序,我希望我ListView在用户发布新消息时滚动到底部,当用户位于列表底部并收到新消息时.我用这个ListView:


并且此方法在需要时强制滚动:

private void scrollListViewToBottom() {
        listView.setSelection(adapter.getCount() - 1);
}

但是当聊天包含高度大于屏幕高度的元素(大文本或图像)时,它会滚动到它的顶部.我需要我ListView精确地滚动到底部,而不是最后一个元素.

我尝试使用listView.scrollTo(0, listView.getBottom())方法,但结果很奇怪 - 有时滚动到最后一条消息+半屏间隙,有时到我看不到任何消息的地方.

有任何想法吗?谢谢.



1> Mr_Hmp..:

您可以使用android:stackFromBottom="true"从下到上填充列表并添加android:transcriptMode="alwaysScroll"自动滚动列表视图.

你只需要打电话notifyDataSetChanged(),你的列表将自动滚动.

要在大块的情况下处理滚动到绝对底部,您可以在每个列表项下方添加高度为1 px的列表项,这样无论项目的高度是多少,您都将始终指向列表的末尾.


推荐阅读
author-avatar
Hide-my-love
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有