在Twitter(官方应用)等Android应用中,当你遇到ListView时,你可以拉下它(发布后它会反弹回来)来刷新内容。
我想知道,在您看来,实现这一点的最佳方式是什么?
我能想到的一些可能性是:
1.ListView顶部的项目--然而,我不认为在ListView上使用动画滚动回到项目位置1(从0开始)是一件容易的任务。
1.ListView外部的另一个视图-但我需要注意在拖拽ListView时将ListView位置向下移动,并且我不确定是否可以检测到拖拽到ListView的触摸是否真的滚动ListView上的项。
有什么建议吗?
另外,我想知道Twitter应用程序的官方源代码什么时候发布。有人提到它会上映,但6个月过去了,我们再也没有听到过它的消息。
18条答案
按热度按时间gblwokeq1#
如果你不想让你的程序看起来像一个强制安装在Android中的iPhone程序,那就瞄准一个更自然的外观和感觉,做一些类似于姜饼的事情:
envsm3lx2#
如果您想在网页视图或其他地方使用拉取刷新,那么只需将此代码复制粘贴到您的项目中,它就可以很好地工作。
XML源代码:
Java代码:
build.gradle源码:
ljsrvy3e3#
将此添加到您的布局中
现在,只需在代码中添加以下行
你们都完蛋了
wbrvyc0a4#
那些希望为RecclerView实现拉入刷新功能的人可以遵循我的简单教程How to implement Pull To Refresh for RecyclerView in Android。
要导入的库
XML代码
活动Java代码
lrpiutwd5#
非常有趣的Pull-to-Refresh到Yalantis。IOS版的GIF,但您可以查看:)
ntjbwcob6#
要获取最新的棒棒糖Pull-to刷新:
1.下载最新的Lolliop SDK和Extras/Android支持库
1.将Project的Build Target设置为Android 5.0(否则支持包可能会出现资源错误)
1.将您的libs/android-Support-v4.jar更新到第21版
1.使用
android.support.v4.widget.SwipeRefreshLayout
加android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener
详细指南可在此处找到:http://antonioleiva.com/swiperefreshlayout/
另外,对于ListView,我建议在评论中阅读有关
canChildScrollUp()
的内容;)pgx2nnw87#
我们首先应该知道什么是拉动来刷新Android的布局。在Android中,我们可以将Pull称为Swipe-to-Renh。当你从上到下滑动屏幕时,它会根据setOnRechresListener执行一些操作。
下面是tutorial,它演示了如何实现Android Pull来刷新。我希望这能帮到你。
hm2xizp98#
我认为最好的图书馆是:https://github.com/chrisbanes/Android-PullToRefresh。
与以下各项配合使用:
1wnzp6jl9#
我在这里编写了一个刷新组件:https://github.com/guillep/PullToRefresh如果列表中没有项目,它就会工作,并且我已经在>=1.6的Android手机上测试了它。
如有任何建议或改进,我们将非常感谢:)
qf9go6mv10#
最后,谷歌发布了拉刷新库的官方版本!
它在支持库中称为
SwipeRefreshLayout
,文档为here:1.添加
SwipeRefreshLayout
作为视图的父级,它将被视为刷新布局的拉取。(我以ListView
为例,它可以是任何View
,如LinearLayout
、ScrollView
等。)1.向您的类添加监听器
您也可以根据需要调用
pullToRefresh.setRefreshing(true/false);
。更新
Android支持库已经过时,取而代之的是androidX。指向新库的链接可以在here找到。
此外,您还需要向项目中添加以下依赖项:
或
你可以去重构>>迁移到androidX,Android Studio会为你处理依赖关系。
zphenhs411#
注意,当在Android和WP上实现时,有一些UX问题需要解决。
“为什么设计师/开发人员不应该像iOS应用那样实现拉刷新,一个很好的指标是,谷歌和他们的团队从来不在Android上使用拉刷新,而他们确实在iOS上使用它。”
https://plus.google.com/109453683460749241197/posts/eqYxXR8L4eb
vq8itlhq12#
没有人提到像Google Now或Gmail应用程序那样在操作栏顶部显示的新类型的“拉入刷新”。
有一个库ActionBar-PullToRefresh,它的工作原理与此完全相同。
wh6knrhe13#
我有非常简单的方法来做这件事,但现在我确信这是万无一失的方法,那就是我的代码PullDownListView.java
您只需在要使用此ListView的活动上实现ListViewTouchEventListener并设置监听器
我在PullDownListViewActivity中实现了它
它对我很有效:)
zy1mlcev14#
要实现Android拉入刷新,请尝试这段代码,
活动类:
uajslkp615#
在这个链接中,您可以找到著名的
PullToRefresh
视图的分支,该视图具有新的有趣的实现,如PullTorRefreshWebView
或PullToRefreshGridView
,或者可以在列表的底部边缘添加PullToRefresh
。https://github.com/chrisbanes/Android-PullToRefresh
最棒的是它能在安卓4.1上完美工作(正常的
PullToRefresh
不能工作)