类似这种下拉刷新的界面做 Android 应用的时候还是经常遇到的。这个的实现方法也有很多种,相信只要写过多年 Android 的程序员估计也造过做这个功能的轮子。不过本文就是记录一下 Support Lib 中提供的 SwipRefreshLayout 来快速实现这个需求的简单 Demo。由于一般都会和 ListView 配合使用,而现在往往会使用性能更好的 RecyclerView ,所以这里就用 RecyclerView 来做这个 Demo。
首先布局大概是这样的
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swiper"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical" />
</android.support.v4.widget.SwipeRefreshLayout>
然后就是去你的 activity 或者 fragment 里面绑定这两个 View。这里略过,直接贴核心逻辑代码。
swipview=(SwipeRefreshLayout)findViewById(R.id.swiper);
swipview.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
reloadData();
}
});
private void reloadData(){
//此处掠过数据加载逻辑
...
//加载完成后改变状态
swipview.setRefreshing(false);
}
就是这么简单粗暴好用。没有任何干货,单纯就是一些代码片段,仅做记录。
网友评论