1. 程式人生 > 其它 >一款好用的重新整理框架SmartRefreshLayout

一款好用的重新整理框架SmartRefreshLayout

技術標籤:羊崽的開發筆記android移動開發

開發過程中總會有列表的載入與重新整理功能,但是做出的效果總是不盡人意,要麼動畫效果很土,要麼程式碼量大且bug多,此時,一款有趣有好用的重新整理框架閃亮登場,先看一個讓你大呼 “這**也行??”的效果
在這裡插入圖片描述

怎麼樣,要不要往專案中整合一下?
首先,先放出原始碼地址SmarRefreshLayout原始碼地址
接下來講一下這個框架如何整合與使用

第一部分 整合

引入依賴
compile 'com.android.support:appcompat-v7:25.3.1'                   //必須 25.3.1 以上
implementation  'com.scwang.smart:refresh-layout-kernel:2.0.3'      //核心必須依賴
androidx整合方法

這是最基礎的依賴,如果你的專案已升級androidX,那麼用下面這種整合方式
在gradle-wrapper.properties中新增如下程式碼
在這裡插入圖片描述

android.useAndroidX=true
android.enableJetifier=true

然後再build檔案中新增依賴

implementation 'androidx.appcompat:appcompat:1.0.0'                 //必須 1.0.0 以上
implementation  'com.scwang.smart:refresh-layout-kernel:2.0.3'      //核心必須依賴

這樣,最基礎的已經引入完畢,接下來引入一些上下拉的動畫效果

動畫效果
implementation  'com.scwang.smart:refresh-header-classics:2.0.3'    //經典重新整理頭
implementation  'com.scwang.smart:refresh-header-radar:2.0.3'       //雷達重新整理頭
implementation  'com.scwang.smart:refresh-header-falsify:2.0.3'     //虛擬重新整理頭
implementation  'com.scwang.smart:refresh-header-material:2.0.3'    //谷歌重新整理頭
implementation  'com.scwang.smart:refresh-header-two-level:2.0.3'   //二級重新整理頭
implementation  'com.scwang.smart:refresh-footer-ball:2.0.3'        //球脈衝載入
implementation  'com.scwang.smart:refresh-footer-classics:2.0.3'    //經典載入

第二部分 使用

第一步 在佈局檔案中新增控制元件
<com.scwang.smart.refresh.layout.SmartRefreshLayout
        android:id="@+id/srl"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/rv_list"
            android:layout_width="match_parent"
            android:layout_height="match_parent"></androidx.recyclerview.widget.RecyclerView>
    </com.scwang.smart.refresh.layout.SmartRefreshLayout>
第二步 在程式碼中新增監聽
class MyActivity : OnRefreshLoadMoreListener {
override fun onRefresh(refreshLayout: RefreshLayout) {
    //重新整理的邏輯
}

override fun onLoadMore(refreshLayout: RefreshLayout) {
    //載入更多的邏輯
}
}
第三步 設定重新整理動畫效果
 mRefreshLayout.setRefreshHeader(ClassicsHeader([email protected]))
 mRefreshLayout.setRefreshFooter(ClassicsFooter([email protected]))
 mRefreshLayout.setOnRefreshLoadMoreListener(loadMoreListener)

這裡我使用的經典重新整理動畫,想要使用其他動畫可以參考官方文件
好了,先到這,掛了吧。