ListView下拉刷新实现技巧
ListView 的下拉刷新效果,算是 Android 开发里挺常见的一个交互体验了。你经常在新闻 App、社交类应用里看到,比如“下拉查看新消息”,体验感提升不少。这个自定义的CustomListView
实现就比较有意思,没用第三方库,靠自己撸逻辑,适合想练练手的朋友。
自定义的ViewGroup
用得比较巧妙,顶部加了个“刷新头”,里头有个转圈圈动画和提示语,比如“下拉刷新”之类的,看着就有反馈感。动画是用ObjectAnimator
搞的,响应也快,效果也挺丝滑。
手势这一块,需要你重写onTouchEvent()
,识别出用户是不是在顶部下拉。拉动过程动态控制刷新头的显示,放手时就触发刷新。别忘了加个onRefresh()
的接口回调,方便主页面接收到刷新事件后去拉取新数据。
状态管理上分得也挺细——比如“未刷新”“刷新中”“刷新完成”三个状态,各自对应不同 UI 提示。这个细节蛮重要的,做得好,体验能上一个台阶。
刷新完成后,别忘了用notifyDataSetChanged()
更新数据,界面才会重新绑定,不然用户等半天也没看到变化,那多尴尬?
源码是 Eclipse 项目,想尝试的话可以先跑起来。要是你已经用 Android Studio 了,建议顺手练一下迁移,顺带熟悉一下结构和兼容性,也挺实用。
如果你对ListView
还停留在基本用法,想摸一摸自定义控件、手势识别、状态切换这些东西,不妨看看这个例子,实战价值还挺高的。
85.87KB
文件大小:
评论区