PullToRefresh

PullToRefresh_第1张图片
Paste_Image.png

内部是对listview添加一个header来实现

PullToRefreshListView

获取到listview

pullToRefresh.getRefreshableView();

设置上拉刷新下拉加载的一些属性
更改文字颜色
下拉刷新默认文字为白色
通过自定义属性来更改的
去res/values/attrs.xml下找到ptrHeaderTextColor
前面添加命名空间—将name—拷贝过来—加值

ptr:ptrHeaderTextColor="#f00"

设置下拉刷新模式
模式呢:要么支持下拉刷新.要么支持上拉加载,要么两个都支持

ptr:ptrMode="both"

下拉刷新与上拉加载文字效果一致,需要在代码中更改
可以更改动画图片

ptr:ptrDrawable="@drawable/ic_launcher

更改图片的动画效果---两个
旋转和上下翻转

ptr:ptrAnimationStyle="flip"

布局


更改文字

//获取脚布局
//参数1如果是true 返回是头布局,参赛2 true 返回脚布局
//参1与参2 一定要互斥
ILoadingLayout loadingLayoutProxy = pullToRefresh
        .getLoadingLayoutProxy(false, true);
//设置加载更多文字--上拉的时候
loadingLayoutProxy.setPullLabel("上拉加载...");
//设置松开加载--上拉到头的时候
loadingLayoutProxy.setReleaseLabel("松开以加载...");
//设置正在加载--松开后
loadingLayoutProxy.setRefreshingLabel("正在加载...");

监听

//只能单独做上拉刷新菜单
pullToRefresh.setOnRefreshListener(OnRefreshListener < ListView > listener);
//只能做上拉加载
pullToRefresh.setOnPullEventListener(OnPullEventListener < ListView > listener);
//即监听上拉刷新又可监听上拉加载
pullToRefresh.setOnRefreshListener(OnRefreshListener2 < ListView > listener);

//设置监听下拉刷新和上拉加载
pullToRefresh.setOnRefreshListener(new MyRefreshListener());

class MyRefreshListener implements
        PullToRefreshListView.OnRefreshListener2 {

    @Override
    public void onPullDownToRefresh(PullToRefreshBase refreshView) {
        // 下拉刷新
    }

    @Override
    public void onPullUpToRefresh(PullToRefreshBase refreshView) {
        // 上拉加载
    }
}

你可能感兴趣的:(PullToRefresh)