SmartRefreshLayout 夠炫,夠cool

Share from here? ?我是個(gè)快樂的搬運(yùn)工

Android智能下拉刷新框架,支持越界回彈呀邢,集成了幾十種炫酷的Header和 Footer。 RefreshLayout豹绪,OverScroll.

特點(diǎn)功能:

支持自定義并且已經(jīng)集成了很多炫酷的 Header 和 Footer ?支持和ListView的同步滾動(dòng) 和 RecyclerView、AppBarLayout申眼、CoordinatorLayout 的嵌套滾動(dòng) NestedScrolling.

支持在Android Studio Xml 編輯器中預(yù)覽 效果 支持分別在 Default(默認(rèn))瞒津、Xml、JavaCode 三個(gè)中設(shè)置 Header 和 Footer.

支持自動(dòng)刷新括尸、自動(dòng)上拉加載(自動(dòng)檢測(cè)列表滾動(dòng)到底部巷蚪,而不用手動(dòng)上拉). 支持通用的刷新監(jiān)聽器 OnRefreshListener 和更詳細(xì)的滾動(dòng)監(jiān)聽 OnMultiPurposeListener.

支持自定義回彈動(dòng)畫的插值器,實(shí)現(xiàn)各種炫酷的動(dòng)畫效果. 支持設(shè)置主題來適配任何場(chǎng)景的App濒翻,不會(huì)出現(xiàn)炫酷但很尷尬的情況.

支持設(shè)置多種滑動(dòng)方式來適配各種效果的Header和Footer:平移屁柏、拉伸啦膜、背后固定、頂層固定淌喻、全屏 支持內(nèi)容尺寸自適應(yīng) Content-wrap_content

支持繼承重寫和擴(kuò)展功能僧家,內(nèi)部實(shí)現(xiàn)沒有 private 方法和字段,繼承之后都可以重寫覆蓋 支持越界回彈(Listview裸删、RecyclerView八拱、ScrollView、WebView…View)

簡單用例

1.在 buld.gradle 中添加依賴

```

//1.1.0 API改動(dòng)過大涯塔,老用戶升級(jí)需謹(jǐn)慎

compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-6'

compile 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0-alpha-6'//沒有使用特殊Header肌稻,可以不加這行

compile 'com.android.support:appcompat-v7:25.3.1'//版本 23以上(必須)

//1.0.5 當(dāng)1.1.0出現(xiàn)問題可以回退到1.0.5.1

compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.5.1'

compile 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.5.1'//沒有使用特殊Header,可以不加這行

compile 'com.android.support:appcompat-v7:25.3.1'//版本 23以上(必須)

compile 'com.android.support:design:25.3.1'//版本隨意(非必須匕荸,引用可以解決無法預(yù)覽問題

```

2.在XML布局文件中添加 SmartRefreshLayout

<?xmlversion="1.0"encoding="utf-8"?>
<com.scwang.smartrefresh.layout.SmartRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/refreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never"
android:background="#fff"/>

3.在 Activity 或者 Fragment 中添加代碼

RefreshLayout refreshLayout=(RefreshLayout)findViewById(R.id.refreshLayout);refreshLayout.setOnRefreshListener(new OnRefreshListener() {@Overridepublic void onRefresh(RefreshLayoutrefreshlayout) { refreshlayout.finishRefresh(2000); }});refreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() {@Overridepublic void onLoadmore(RefreshLayoutrefreshlayout) { refreshlayout.finishLoadmore(2000); }});

使用指定的 Header 和 Footer

1.方法一 全局設(shè)置

SmartRefreshLayout.setDefaultRefreshHeaderCreater(new DefaultRefreshHeaderCreater({  @Override  public RefreshHeader createRefreshHeader(Contextcontext,RefreshLayoutlayout) {          return new ClassicsHeader(context);//指定為經(jīng)典Header爹谭,默認(rèn)是 貝塞爾雷達(dá)Header      }      });//設(shè)置全局的Footer構(gòu)建器SmartRefreshLayout.setDefaultRefreshFooterCreater(new DefaultRefreshFooterCreater() {  @Override  public RefreshFooter createRefreshFooter(Contextcontext,RefreshLayoutlayout) {          return new ClassicsFooter(context);//指定為經(jīng)典Footer,默認(rèn)是 BallPulseFooter      }     });

注意:方法一 設(shè)置的Header和Footer的優(yōu)先級(jí)是最低的榛搔,如果同時(shí)還使用了方法二诺凡、三,將會(huì)被其他方法取代

2.方法二 XML布局文件指定?

<com.scwang.smartrefresh.layout.SmartRefreshLayoutxmlns:app="http://schemas.android.com/apk/resauto"  android:id="@+id/smartLayout"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:background="#444444"  app:srlPrimaryColor="#444444"  app:srlAccentColor="@android:color/white"  app:srlEnablePreviewInEditMode="true"> <  !--srlAccentColor srlPrimaryColor 將會(huì)改變 Header 和 Footer 的主題顏色-->     <  !--srlEnablePreviewInEditMode 可以開啟和關(guān)閉預(yù)覽功能--><com.scwang.smartrefresh.layout.header.ClassicsHeader   android:layout_width="match_parent"   android:layout_height="wrap_content"  app:srlClassicsSpinnerStyle="FixedBehind"/><!--FixedBehind可以讓Header固定在內(nèi)容的背后药薯,下拉的時(shí)候效果同微信瀏覽器的效果--><TextView  android:layout_width="match_parent"  android:layout_height="match_parent"  android:padding="@dimen/padding_common"  android:background="@android:color/white"  android:text="@string/description_define_in_xml"/><com.scwang.smartrefresh.layout.footer.ClassicsFooter  android:layout_width="match_parent"  android:layout_height="wrap_content"  app:srlClassicsSpinnerStyle="FixedBehind"/><!--FixedBehind可以讓Footer固定在內(nèi)容的背后绑洛,下拉的時(shí)候效果同微信瀏覽器的效果-->/com.scwang.smartrefresh.layout.SmartRefreshLayout>

注意:方法二 XML設(shè)置的Header和Footer的優(yōu)先級(jí)是中等的,會(huì)被方法三覆蓋童本。

3.方法三 Java代碼設(shè)置

final RefreshLayout refreshLayout=(RefreshLayout) findViewById(R.id.smartLayout);//設(shè)置 Header 為 Material風(fēng)格refreshLayout.setRefreshHeader(new MaterialHeader(this).setShowBezierWave(true));//設(shè)置 Footer 為 球脈沖refreshLayout.setRefreshFooter(new BallPulseFooter(this).setSpinnerStyle(SpinnerStyle.Scale));

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末真屯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子穷娱,更是在濱河造成了極大的恐慌绑蔫,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,599評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泵额,死亡現(xiàn)場(chǎng)離奇詭異配深,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)嫁盲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門篓叶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人羞秤,你說我怎么就攤上這事缸托。” “怎么了瘾蛋?”我有些...
    開封第一講書人閱讀 158,084評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵俐镐,是天一觀的道長。 經(jīng)常有香客問我哺哼,道長佩抹,這世上最難降的妖魔是什么叼风? 我笑而不...
    開封第一講書人閱讀 56,708評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮棍苹,結(jié)果婚禮上无宿,老公的妹妹穿的比我還像新娘。我一直安慰自己廊勃,他們只是感情好懈贺,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著坡垫,像睡著了一般梭灿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上冰悠,一...
    開封第一講書人閱讀 50,021評(píng)論 1 291
  • 那天堡妒,我揣著相機(jī)與錄音,去河邊找鬼溉卓。 笑死皮迟,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的桑寨。 我是一名探鬼主播伏尼,決...
    沈念sama閱讀 39,120評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼尉尾!你這毒婦竟也來了爆阶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,866評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤沙咏,失蹤者是張志新(化名)和其女友劉穎辨图,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肢藐,經(jīng)...
    沈念sama閱讀 44,308評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡故河,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吆豹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鱼的。...
    茶點(diǎn)故事閱讀 38,768評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖痘煤,靈堂內(nèi)的尸體忽然破棺而出凑阶,到底是詐尸還是另有隱情,我是刑警寧澤速勇,帶...
    沈念sama閱讀 34,461評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站坎拐,受9級(jí)特大地震影響烦磁,放射性物質(zhì)發(fā)生泄漏养匈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評(píng)論 3 317
  • 文/蒙蒙 一都伪、第九天 我趴在偏房一處隱蔽的房頂上張望呕乎。 院中可真熱鬧,春花似錦陨晶、人聲如沸猬仁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽湿刽。三九已至,卻和暖如春褐耳,著一層夾襖步出監(jiān)牢的瞬間诈闺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評(píng)論 1 267
  • 我被黑心中介騙來泰國打工铃芦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留雅镊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,571評(píng)論 2 362
  • 正文 我出身青樓刃滓,卻偏偏與公主長得像仁烹,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子咧虎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,851評(píng)論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理卓缰,服務(wù)發(fā)現(xiàn),斷路器老客,智...
    卡卡羅2017閱讀 134,637評(píng)論 18 139
  • Android智能下拉刷新框架僚饭,支持越界回彈,集成了幾十種炫酷的Header和 Footer胧砰。 RefreshLa...
    Android開發(fā)__落岑閱讀 2,486評(píng)論 0 3
  • 上一章|完美新娘(10) 從來沒有見夏老爺子像今天喝的這樣開心鳍鸵,但是夏老爺覺得還是沒喝過癮。幾個(gè)人都有點(diǎn)略顯醉意從...
    石如一閱讀 410評(píng)論 0 2
  • 下午的自習(xí)時(shí)間被占用 整個(gè)高三轉(zhuǎn)移去報(bào)告廳聽演講 那種類似于洗腦式的演講 聲嘶力竭 震得我扯了兩小塊衛(wèi)生紙塞進(jìn)了耳...
    許斑斑閱讀 124評(píng)論 0 0