PullToRefreshScrollView的使用

来源:互联网 发布:linux删除整个文件夹 编辑:程序博客网 时间:2024/06/12 23:20
准备工作:第一步:导入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);}