准备工作:
第一步:导入pullToRefresh的工程,注意需要16版本的sdk,与19版本的构建工具(需要连网下载)
第二步:将工程作为依赖库添加到自己的工程中
使用步骤:
第一步:在布局文件中添加PullToRefreshScrollView组件
<!--
ptr:ptrDrawable="@drawable/default_ptr_flip":刷新时显示的图片
ptr:ptrAnimationStyle="flip":刷新的图片以何种方式显示出来
ptr:ptrHeaderBackground="#383838":刷新时头部的布局
ptr:ptrHeaderTextColor="#FFFFFF":刷新时头部字体的颜色
还需要添加以下的命名空间
xmlns:ptr="http://schemas.android.com/apk/res-auto"
-->
<com.handmark.pulltorefresh.library.PullToRefreshScrollView
android:id="@+id/refresh_scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
ptr:ptrAnimationStyle="flip"
ptr:ptrDrawable="@drawable/default_ptr_flip"
ptr:ptrHeaderBackground="#383838"
ptr:ptrHeaderTextColor="#FFFFFF">
<!--在scrollView中添加组件 viewPager和ListView
注意:在scrollView中只能有一个子孩子-->
<linearLayout>
<ViewPager></viewPager>
<ListView></ListView>
</linearLayout>
</com.handmark.pulltorefresh.library.PullToRefreshScrollView>
第二步:查找组件,并对PullToRefreshScrollView进行初使化
//查找组件
PullToRefreshScrollView rsv = (PullToRefreshScrollView) findViewById(R.id.refresh_scroll_view);
//进行初使化 (1.设置模式 2.通过getLoadingLayoutProxy方法设置header与footer的刷新显示文字 3.设置监听事件)
private void intRefreshScrollView() {
//1.设置模式
rsv.setMode(PullToRefreshBase.Mode.BOTH);
//2.通过调用getLoadingLayoutProxy方法,设置下拉刷新状况布局中显示的文字 ,第一个参数为true,代表下拉刷新
ILoadingLayout headLables = rsv.getLoadingLayoutProxy(true, false);
headLables.setPullLabel("下拉刷新");
headLables.setRefreshingLabel("正在刷新");
headLables.setReleaseLabel("松开刷新");
//2.设置上拉加载底部视图中显示的文字,第一个参数为false,代表上拉加载更多
ILoadingLayout footerLables = rsv.getLoadingLayoutProxy(false, true);
footerLables.setPullLabel("上拉加载");
footerLables.setRefreshingLabel("正在载入...");
footerLables.setReleaseLabel("松开加载更多");
//3.设置监听事件
rsv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) {
addToTop();//请求网络数据,并更新listview组件
refreshComplete();//数据加载完成后,关闭header,footer
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) {
addToBottom()//请求网络数据,并更新listview组件
refreshComplete();//数据加载完成后,关闭header,footer
}
});
}
/**
* 刷新完成时关闭
*/
public void refreshComplete(){
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
rsv.onRefreshComplete();
}
},1000);
}
PullToRefreshScrollView的简单使用
最新推荐文章于 2018-05-28 07:23:01 发布