Android RecyclerView設(shè)置下拉刷新的實(shí)現(xiàn)方法
Android RecyclerView設(shè)置下拉刷新的實(shí)現(xiàn)方法
1 集成 SwipeRefreshLayout
1.1 xml布局文件中使用
<android.support.v4.widget.SwipeRefreshLayout android:id="@+id/refresh" android:layout_width = "match_parent" android:layout_height = "match_parent" > <android.support.v7.widget.RecyclerView android:id = "@+id/rv_list" android:layout_width = "match_parent" android:layout_height = "match_parent" android:background = "#FF504F4F" /> </android.support.v4.widget.SwipeRefreshLayout >
1.2 設(shè)置下拉刷新樣式
SwipeRefreshLayout swipeRefreshView = (SwipeRefreshLayout) findViewById(R.id.refresh); // 設(shè)置顏色屬性的時(shí)候一定要注意是引用了資源文件還是直接設(shè)置16進(jìn)制的顏色,因?yàn)槎际莍nt值容易搞混 // 設(shè)置下拉進(jìn)度的背景顏色,默認(rèn)就是白色的 swipeRefreshView.setProgressBackgroundColorSchemeResource(android.R.color.white); // 設(shè)置下拉進(jìn)度的主題顏色 swipeRefreshView.setColorSchemeResources(R.color.colorAccent, R.color.colorPrimary, R.color.colorPrimaryDark);
1.3 設(shè)置下拉刷新加載監(jiān)聽
final Handler handler = new Handler(); // 下拉時(shí)觸發(fā)SwipeRefreshLayout的下拉動(dòng)畫,動(dòng)畫完畢之后就會(huì)回調(diào)這個(gè)方法 swipeRefreshView.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { // 開始刷新,設(shè)置當(dāng)前為刷新狀態(tài) //swipeRefreshLayout.setRefreshing(true); // 這里是主線程 // 一些比較耗時(shí)的操作,比如聯(lián)網(wǎng)獲取數(shù)據(jù),需要放到子線程去執(zhí)行 new Thread(){ @Override public void run () { super.run(); //同步加載網(wǎng)絡(luò)數(shù)據(jù) //加載數(shù)據(jù) 完畢后 關(guān)閉刷新狀態(tài) 切回主線程 handler.postDelayed(new Runnable() { @Override public void run() { // 加載完數(shù)據(jù)設(shè)置為不刷新狀態(tài),將下拉進(jìn)度收起來(lái) swipeRefreshView.setRefreshing(false); } }, 100); } }.start(); } });
如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
詳解Flutter?響應(yīng)式狀態(tài)管理框架GetX
這篇文章主要為大家介紹了Flutter?響應(yīng)式狀態(tài)管理框架GetX詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09當(dāng)Flutter遇到節(jié)流與防抖的思路和流程優(yōu)化
這篇文章主要給大家介紹了關(guān)于當(dāng)Flutter遇到節(jié)流與防抖的思路和流程優(yōu)化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01Android序列化接口Parcelable與Serializable接口對(duì)比
我們使用 Intent 傳遞數(shù)據(jù)的時(shí)候,putExtra() 所支持的數(shù)據(jù)類型事有限的,當(dāng)需要傳遞自定義對(duì)象的時(shí)候就需要序列化。Serializable更簡(jiǎn)單但是會(huì)把整個(gè)對(duì)象進(jìn)行序列化因此效率比Parcelable低一些2023-02-02android 指紋識(shí)別調(diào)用實(shí)現(xiàn)方法及示例代碼
這里主要介紹Android 指紋識(shí)別的簡(jiǎn)單實(shí)現(xiàn)代碼,希望能幫助開發(fā)這部分應(yīng)用的朋友,有需要的小伙伴可以參考下2016-09-09解析ScrollView--仿QQ空間標(biāo)題欄漸變
本篇文章主要介紹了仿QQ空間標(biāo)題欄漸變的實(shí)現(xiàn)方法的相關(guān)知識(shí),具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-05-05Android ListView 滾動(dòng)條的設(shè)置詳解及實(shí)例代碼
這篇文章主要介紹了 ListView等滾動(dòng)條的設(shè)置詳解詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02Android實(shí)現(xiàn)環(huán)形進(jìn)度條代碼
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)環(huán)形進(jìn)度條的代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01Android編程之簡(jiǎn)單啟動(dòng)畫面實(shí)現(xiàn)方法
這篇文章主要介紹了Android編程之簡(jiǎn)單啟動(dòng)畫面實(shí)現(xiàn)方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了開機(jī)啟動(dòng)畫面的制作步驟及布局、Activity跳轉(zhuǎn)、權(quán)限控制等的相關(guān)操作技巧,需要的朋友可以參考下2016-11-11