SwipeRefreshLayout 的使用詳解

SwipeRefreshLayout作為谷歌官方推薦的下拉刷新控件庭砍,同時(shí)簡(jiǎn)單而又不失優(yōu)雅的風(fēng)格噪叙,讓許多app都使用了這一控件改基,今天記錄下SwipeRefreshLayout在項(xiàng)目中的實(shí)際運(yùn)用阳液。
首先怕敬,我們?cè)诓季治募惺褂茫?/p>

     <android.support.v4.widget.SwipeRefreshLayout
            android:id="@+id/swipeRefreshLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            >
        <ListView
            android:id="@+id/list"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        </ListView>
        </android.support.v4.widget.SwipeRefreshLayout>

注意,將listview或者recyclerview放在SwipeRefreshLayout內(nèi)帘皿,這樣东跪,我們一個(gè)簡(jiǎn)單的布局就完成了。

現(xiàn)在我們可以運(yùn)行試試效果鹰溜。

Screenshot_1553658047.png

一個(gè)黑不拉幾的下拉樣式就出來(lái)啦虽填,有人肯定會(huì)覺(jué)得不對(duì)啊,這個(gè)怎么一直轉(zhuǎn)曹动,還是黑色的斋日,別急,我們慢慢來(lái)

設(shè)置SwipeRefreshLayout 的顏色

我們先在res/values/color中定義好幾個(gè)顏色

     <color name="blue">#5BC0DE</color>
     <color name="red">#FF4081</color>
     <color name="black">#000000</color>

然后在java代碼中設(shè)置顏色:

swipeRefreshLayout.setColorSchemeResources(R.color.blue);

接下來(lái)讓我們運(yùn)行看看:

Screenshot_1553658583.png

我們成功改變了下拉樣式的顏色墓陈,而且可以支持三種顏色變換哦

swipeRefreshLayout.setColorSchemeResources(R.color.blue,R.color.red,R.color.black);

設(shè)置SwipeRefreshLayout 下拉刷新功能的實(shí)現(xiàn)

這個(gè)下拉為啥一直在轉(zhuǎn)呢恶守?因?yàn)槲覀冞€沒(méi)在代碼中設(shè)置它的停止,按邏輯來(lái)說(shuō)贡必,我們將在發(fā)起數(shù)據(jù)請(qǐng)求后兔港,服務(wù)器做出回應(yīng)或者一定時(shí)間沒(méi)有得到回應(yīng)后,將動(dòng)畫(huà)取消仔拟。讓我們先看看SwipeRefreshLayout 的回調(diào)方法

swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
           @Override
           public void onRefresh() {
                 //這里獲取數(shù)據(jù)的邏輯
               swipeRefreshLayout.setRefreshing(false);
           }
       });

swipeRefreshLayout.setRefreshing(false)這句話傳入一個(gè)布爾變量衫樊,false代表停止執(zhí)行,這樣理逊,當(dāng)我們執(zhí)行完畢獲取數(shù)據(jù)的過(guò)程后橡伞,就可以將一直轉(zhuǎn)的下拉動(dòng)畫(huà)給取消掉啦盒揉,而且呢晋被, swipeRefreshLayout.setRefreshing()這個(gè)方法也可以實(shí)現(xiàn)第一次打開(kāi)頁(yè)面自動(dòng)下拉刷新的邏輯兑徘,具體實(shí)現(xiàn)請(qǐng)問(wèn)度娘。

SwipeRefreshLayout 的其他幾個(gè)方法

//設(shè)置進(jìn)度View樣式的大小羡洛,只有兩個(gè)值DEFAULT和LARGE挂脑,表示默認(rèn)和較大
swipeRefreshLayout.setSize(DEFAULT);
//設(shè)置觸發(fā)下拉刷新的距離
swipeRefreshLayout.setDistanceToTriggerSync(300);
//設(shè)置動(dòng)畫(huà)樣式下拉的起始點(diǎn)和結(jié)束點(diǎn),scale 是指設(shè)置是否需要放大或者縮小動(dòng)畫(huà)欲侮。
swipeRefreshLayout.setProgressViewOffset(boolean scale, int start, int end)
//設(shè)置動(dòng)畫(huà)樣式下拉的結(jié)束點(diǎn)崭闲,scale 是指設(shè)置是否需要放大或者縮小動(dòng)畫(huà)
swipeRefreshLayout.setProgressViewEndTarget(boolean scale, int end);
//如果自定義了swipeRefreshLayout,可以通過(guò)這個(gè)回調(diào)方法決定是否可以滑動(dòng)威蕉。
setOnChildScrollUpCallback(@Nullable OnChildScrollUpCallback callback)

本文為原創(chuàng)刁俭,轉(zhuǎn)載請(qǐng)標(biāo)明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末韧涨,一起剝皮案震驚了整個(gè)濱河市牍戚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌虑粥,老刑警劉巖如孝,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異娩贷,居然都是意外死亡第晰,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)彬祖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)茁瘦,“玉大人,你說(shuō)我怎么就攤上這事储笑√鹑郏” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵南蓬,是天一觀的道長(zhǎng)纺非。 經(jīng)常有香客問(wèn)我,道長(zhǎng)赘方,這世上最難降的妖魔是什么烧颖? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮窄陡,結(jié)果婚禮上炕淮,老公的妹妹穿的比我還像新娘。我一直安慰自己跳夭,他們只是感情好涂圆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布们镜。 她就那樣靜靜地躺著,像睡著了一般润歉。 火紅的嫁衣襯著肌膚如雪模狭。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,292評(píng)論 1 301
  • 那天踩衩,我揣著相機(jī)與錄音嚼鹉,去河邊找鬼。 笑死驱富,一個(gè)胖子當(dāng)著我的面吹牛锚赤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播褐鸥,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼线脚,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了叫榕?” 一聲冷哼從身側(cè)響起浑侥,我...
    開(kāi)封第一講書(shū)人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎翠霍,沒(méi)想到半個(gè)月后锭吨,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寒匙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年零如,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锄弱。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡考蕾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出会宪,到底是詐尸還是另有隱情肖卧,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布掸鹅,位于F島的核電站塞帐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏巍沙。R本人自食惡果不足惜葵姥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望句携。 院中可真熱鬧榔幸,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至拨齐,卻和暖如春鳞陨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背奏黑。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工炊邦, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留编矾,地道東北人熟史。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像窄俏,于是被迫代替她去往敵國(guó)和親蹂匹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)凹蜈、插件限寞、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,102評(píng)論 4 62
  • 個(gè)人主頁(yè)演示Demo下載 本文重點(diǎn)介紹了SwipeRefreshLayout的使用和自定View繼承SwipeRe...
    笑說(shuō)余生閱讀 129,451評(píng)論 57 216
  • 《裕語(yǔ)言》速成開(kāi)發(fā)手冊(cè)3.0 官方用戶交流:iApp開(kāi)發(fā)交流(1) 239547050iApp開(kāi)發(fā)交流(2) 10...
    葉染柒丶閱讀 26,725評(píng)論 5 19
  • 中國(guó)人吃著半生不熟的牛排,就好像中世紀(jì)西方人喜歡坐中國(guó)的轎子仰坦,富貴人家總喜歡向富貴國(guó)家的富貴人家學(xué)習(xí)履植,在享受上標(biāo)新...
    woodpeckers閱讀 145評(píng)論 0 0
  • 這天兒子中午放學(xué)到家有一會(huì)兒了,有人突然按門(mén)鈴悄晃。原來(lái)是兒子的同學(xué)小陳的姑姑上門(mén)詢問(wèn)小陳的下落玫霎,說(shuō)是沒(méi)看到他回...
    threeredbird閱讀 522評(píng)論 0 2