AndroidStudio使用PullToRefresh下拉上拉刷新框架

导包

ptr支持ListView ExpandableListView GridView WebView
PullToRefresh是一个古老的下拉刷新框架,以至于并不能在androidstudio中使用gradle引包.
https://github.com/chrisbanes/Android-PullToRefresh
在上述网址中将lib包下载
在androidstudio中import module将ptr类库import引来
在setting的project struct中添加module即可

使用方法,以listview为例

    <com.handmark.pulltorefresh.library.PullToRefreshListView
        xmlns:ptr="http://schemas.android.com/apk/res-auto"
        android:id="@+id/pulls_refresh_list_ClassDiaryMainActivity"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:cacheColorHint="#00000000"
        android:divider="@null"
        android:dividerHeight="10dp"
        android:scrollbars="none"
        //开始上拉和下拉刷新
        ptr:ptrMode="both">

    </com.handmark.pulltorefresh.library.PullToRefreshListView>
listview = (PullToRefreshListView) findViewById(R.id.pulls_refresh_list_ClassDiaryMainActivity);

    private void configPulltoRefreshListView() {
        //下拉刷新
        ILoadingLayout startLoading = listview.getLoadingLayoutProxy(
                true, false);
        startLoading.setPullLabel("下拉刷新");// 刚下拉时显示的提示
        startLoading.setRefreshingLabel("正在刷新中...");// 刷新时显示的提示
        startLoading.setReleaseLabel("释放即可刷新");// 下拉达到一定距离时显示的提示
        //上拉刷新
        ILoadingLayout endLoading =listview.getLoadingLayoutProxy(false,
                true);
        endLoading.setPullLabel("上拉加载更多");// 刚上拉时显示的提示
        endLoading.setRefreshingLabel("拼命加载中...");// 加载时的提示
        endLoading.setReleaseLabel("释放即可加载更多");// 上拉达到一定距离时显示的提示

        //1.只下拉刷新的监听器
        listview.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {
            @Override
            public void onRefresh(PullToRefreshBase<ListView> refreshView) {

            }
        });
        //2.同时处理处理上拉刷新和下拉刷新的监听器
        listview.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                //结束刷新的方法,否则下拉刷新进度条不会结束
                listview.onRefreshComplete();
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {

            }
        });
    }

更多方法

// set mode to BOTH  
mExpandList.setMode(Mode.BOTH);  
mExpandList.getLoadingLayoutProxy(false, true).setPullLabel(getString(R.string.pull_to_load));  
mExpandList.getLoadingLayoutProxy(false, true).setRefreshingLabel(getString(R.string.loading));  
mExpandList.getLoadingLayoutProxy(false, true).setReleaseLabel(getString(R.string.release_to_load));  

mExpandList = (PullToRefreshExpandableListView) rootView.findViewById(R.id.expand_list);  
mExpandList.getRefreshableView().setGroupIndicator(null);  
mExpandList.getRefreshableView().setDivider(null);  
mExpandList.getRefreshableView().setSelector(android.R.color.transparent);  
mExpandList.getRefreshableView().setOnGroupClickListener(this);  
mExpandList.setOnRefreshListener(this);  
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值