在Twitter(官方应用)等Android应用中,当你遇到ListView时,你可以拉下它(发布后它会反弹回来)来刷新内容。
我想知道,在您看来,实现这一点的最佳方式是什么?
我能想到的一些可能性是:
1.ListView顶部的项目--然而,我不认为在ListView上使用动画滚动回到项目位置1(从0开始)是一件容易的任务。
1.ListView外部的另一个视图-但我需要注意在拖拽ListView时将ListView位置向下移动,并且我不确定是否可以检测到拖拽到ListView的触摸是否真的滚动ListView上的项。
有什么建议吗?
另外,我想知道Twitter应用程序的官方源代码什么时候发布。有人提到它会上映,但6个月过去了,我们再也没有听到过它的消息。
18条答案
按热度按时间6za6bjd016#
我认为最简单的方法是Android支持库提供的:
Android.support.v4.widget.SwipeREFREFRESH Layout;
导入后,您可以按如下方式定义布局:
我假设您使用的是回收器视图,而不是列表视图。但是,listview仍然可以工作,所以您只需要用listview替换rececurerview,并更新Java代码(片段)中的引用。
在您的活动片段中,首先实现接口
SwipeRefreshLayout.OnRefreshListener
:i,e希望这对群众有所帮助
disho6za17#
我还为Android实现了一个强大的、开源的、易于使用的、高度可定制的PullToRefresh库。您可以按照项目页面上的文档中的描述,将您的ListView替换为PullToRechreshListView。
https://github.com/erikwt/PullToRefresh-ListView
vyu0f0g118#
我已经尝试实现了一个拉入刷新组件,它还远未完成,但演示了一个可能的实现https://github.com/johannilsson/android-pulltorefresh。
主逻辑在扩展
ListView
的PullToRefreshListView
中实现。在内部,它使用smoothScrollBy
(API级别8)控制标题视图的滚动。该小部件现在更新了对1.5及更高版本的支持,但请阅读自述文件以了解1.5支持。在布局中,您只需像这样添加它。