SwipeRefreshLayout感覺是Google在吸收瞭PullToRefresh-ListView,ActionBarPullToRefresh之後實現的google風格的刷新控件,那花花綠綠的穿越條,濃濃的google味。
遷移到Android studio後就必須使用AppCompat_v7 21+ ,切換瞭之後你就會發現一些有趣的變化,比如說這個SwipeRefreshLayout,就進化成瞭一個圓。
那麼就來看下怎麼使用SwipeRefreshLayout吧!vcD4KPHA+PC9wPgoKytfPyNDo0qrU2rK8vtbA78PmyfnD96O6CjxwPjwvcD4KPHA+PHByZSBjbGFzcz0=”brush:java;”>
然後需要在代碼中初始化控件
swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_purple, android.R.color.holo_blue_bright, android.R.color.holo_orange_light, android.R.color.holo_red_light); swipeRefreshLayout.setOnRefreshListener(this);
這裡圓圈設置幾個替換顯示的顏色,然後設置監聽,實現implements SwipeRefreshLayout.OnRefreshListener接口的onRefresh方法
@Override public void onRefresh() { adapter.sync(); }
這樣的話已經能夠下拉的時候顯示SwipeRefreshLayout控件瞭,但是現實的需求中一般都是加載網絡請求,那麼也很簡單,在請求start的時候SwipeRefreshLayout.setRefreshing(true);在請求完成的時候調用 swipeRefreshLayout.setRefreshing(false);
就這麼多嗎?是的,就怎麼簡單,再也不用忍受ActionBarPullToRefresh的三個依賴包,和在AppCompat_v7 21中兼容的問題。
下面再說一個問題,
android.support.v4.widget.SwipeRefreshLayout
可以不必使用在跟佈局中,但是它內部的控件必須隻有一個,而且要是可以滑動的,比如listview,Scrollview,如果遇到滑動異常可以參考下面的鏈接:
https://yassirh.com/2014/05/how-to-use-swiperefreshlayout-the-right-way/
滑動問題