內(nèi)部是對(duì)listview添加一個(gè)header來(lái)實(shí)現(xiàn)
PullToRefreshListView
獲取到listview
pullToRefresh.getRefreshableView();
設(shè)置上拉刷新下拉加載的一些屬性
更改文字顏色
下拉刷新默認(rèn)文字為白色
通過(guò)自定義屬性來(lái)更改的
去res/values/attrs.xml下找到ptrHeaderTextColor
前面添加命名空間—將name—拷貝過(guò)來(lái)—加值
ptr:ptrHeaderTextColor="#f00"
設(shè)置下拉刷新模式
模式呢:要么支持下拉刷新.要么支持上拉加載,要么兩個(gè)都支持
ptr:ptrMode="both"
下拉刷新與上拉加載文字效果一致,需要在代碼中更改
可以更改動(dòng)畫(huà)圖片
ptr:ptrDrawable="@drawable/ic_launcher
更改圖片的動(dòng)畫(huà)效果---兩個(gè)
旋轉(zhuǎn)和上下翻轉(zhuǎn)
ptr:ptrAnimationStyle="flip"
布局
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:id="@+id/lv_newsitem_newslist"
android:layout_width="match_parent"
android:layout_height="match_parent"
ptr:ptrAnimationStyle="flip"
ptr:ptrHeaderTextColor="#f00"
ptr:ptrMode="both" />
更改文字
//獲取腳布局
//參數(shù)1如果是true 返回是頭布局,參賽2 true 返回腳布局
//參1與參2 一定要互斥
ILoadingLayout loadingLayoutProxy = pullToRefresh
.getLoadingLayoutProxy(false, true);
//設(shè)置加載更多文字--上拉的時(shí)候
loadingLayoutProxy.setPullLabel("上拉加載...");
//設(shè)置松開(kāi)加載--上拉到頭的時(shí)候
loadingLayoutProxy.setReleaseLabel("松開(kāi)以加載...");
//設(shè)置正在加載--松開(kāi)后
loadingLayoutProxy.setRefreshingLabel("正在加載...");
監(jiān)聽(tīng)
//只能單獨(dú)做上拉刷新菜單
pullToRefresh.setOnRefreshListener(OnRefreshListener < ListView > listener);
//只能做上拉加載
pullToRefresh.setOnPullEventListener(OnPullEventListener < ListView > listener);
//即監(jiān)聽(tīng)上拉刷新又可監(jiān)聽(tīng)上拉加載
pullToRefresh.setOnRefreshListener(OnRefreshListener2 < ListView > listener);
//設(shè)置監(jiān)聽(tīng)下拉刷新和上拉加載
pullToRefresh.setOnRefreshListener(new MyRefreshListener());
class MyRefreshListener implements
PullToRefreshListView.OnRefreshListener2<ListView> {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
// 下拉刷新
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
// 上拉加載
}
}