最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android最簡(jiǎn)單的狀態(tài)切換布局實(shí)現(xiàn)教程

 更新時(shí)間:2018年10月11日 09:51:05   作者:雨落文染丶  
這篇文章主要給大家介紹了關(guān)于Android中最簡(jiǎn)單的狀態(tài)切換布局的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

項(xiàng)目中經(jīng)常遇到這樣一種情況,新打開(kāi)的界面需要加載數(shù)據(jù),存在多種狀態(tài)的結(jié)果,需要根據(jù)不同結(jié)果展示界面,這個(gè)過(guò)程歸納起來(lái)可以分為五種狀態(tài):初始狀態(tài)、請(qǐng)求狀態(tài)、空數(shù)據(jù)狀態(tài)、網(wǎng)絡(luò)錯(cuò)誤狀態(tài)、成功請(qǐng)求狀態(tài)。 如果多個(gè)界面都存在這個(gè)流程,那么封裝整個(gè)過(guò)程的調(diào)用就很有必要了,既可以簡(jiǎn)化調(diào)用過(guò)程,又可以很方便的管理整個(gè)流程。

下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧

功能簡(jiǎn)介

  • 正在加載數(shù)據(jù)
  • 數(shù)據(jù)加載失敗
  • 數(shù)據(jù)加載為空
  • 網(wǎng)絡(luò)加載失敗
  • 重試點(diǎn)擊事件
  • 支持自定義布局

效果圖展示

最簡(jiǎn)單的使用方式

1.Add it in your root build.gradle at the end of repositories:

allprojects {
 repositories {
  ...
  maven { url 'https://jitpack.io' }
 }
 }

2.Add the dependency

 dependencies {
   implementation 'com.github.pengMaster:MultipleLayout:1.0.0'
 }

3.在布局中添加

 <king.bird.multipleview.MultipleLayout
  android:id="@+id/mMultipleLayout"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <!--任意內(nèi)容-->
  <TextView
   android:id="@+id/mTvContent"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_centerInParent="true"
   android:text="@string/content" />

 </king.bird.multipleview.MultipleLayout>

注意: MultipleLayout 可做為沒(méi)有標(biāo)題欄的最外層布局,內(nèi)部可包裹任何內(nèi)容

4.代碼中使用

  //重試點(diǎn)擊事件
  mMultipleLayout.setOnRetryClickListener {
   //模擬網(wǎng)絡(luò)請(qǐng)求
   Toast.makeText(this@MainActivity,"正在加載。。",Toast.LENGTH_SHORT).show()
  }
  //數(shù)據(jù)為空
  mMultipleLayout.showEmpty()
  //加載失敗
  mMultipleLayout.showError()
  //正在加載
  mMultipleLayout.showLoading()
  //網(wǎng)絡(luò)加載失敗
  mMultipleLayout.showNoNetwork()
  //顯示內(nèi)容
  mMultipleLayout.showContent()

擴(kuò)展功能

1.自定義狀態(tài)布局

 <king.bird.multipleview.MultipleLayout
  android:id="@+id/multipleStatusView"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  <!--自定義布局-->
  app:emptyView="@layout/layout_empty_view"
  app:errorView="@layout/layout_error_view"
  app:loadingView="@layout/layout_loading_view"
  app:noNetworkView="@layout/layout_network_view">

 </king.bird.multipleview.MultipleLayout>

2.代碼引入布局

  //數(shù)據(jù)為空
  showEmpty(int layoutId, ViewGroup.LayoutParams layoutParams)
  showEmpty(View view, ViewGroup.LayoutParams layoutParams)
  //加載失敗
  showError(int layoutId, ViewGroup.LayoutParams layoutParams)
  showError(View view, ViewGroup.LayoutParams layoutParams)
  //正在加載
  showLoading(int layoutId, ViewGroup.LayoutParams layoutParams)
  showLoading(View view, ViewGroup.LayoutParams layoutParams)
  //網(wǎng)絡(luò)加載失敗
  void showNoNetwork(int layoutId, ViewGroup.LayoutParams layoutParams)
  showNoNetwork(View view, ViewGroup.LayoutParams layoutParams)

3.擴(kuò)展

后續(xù)添加各種彈框

參與貢獻(xiàn)

  • Fork 本項(xiàng)目
  • 新建 Feat_xxx 分支
  • 提交代碼
  • 新建 Pull Request

github地址

項(xiàng)目地址:https://github.com/pengMaster/MultipleLayout

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Android 使用ViewPager自動(dòng)滾動(dòng)循環(huán)輪播效果

    Android 使用ViewPager自動(dòng)滾動(dòng)循環(huán)輪播效果

    本文主要給大家介紹viewpager自動(dòng)播放,循環(huán)滾動(dòng)的效果,對(duì)android viewpager滾動(dòng)相關(guān)知識(shí)感興趣的朋友可以參考下本篇文章
    2015-11-11
  • Android自定義UI實(shí)現(xiàn)微信語(yǔ)音

    Android自定義UI實(shí)現(xiàn)微信語(yǔ)音

    這篇文章主要為大家詳細(xì)介紹了Android自定義UI實(shí)現(xiàn)微信語(yǔ)音的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android應(yīng)用中使用ViewPager和ViewPager指示器來(lái)制作Tab標(biāo)簽

    Android應(yīng)用中使用ViewPager和ViewPager指示器來(lái)制作Tab標(biāo)簽

    這篇文章主要介紹了Android中使用ViewPager和ViewPager指示器來(lái)制作Tab標(biāo)簽的方法,ViewPager指示器ViewPageIndicator是一個(gè)開(kāi)源庫(kù),文中舉了一個(gè)仿網(wǎng)易新聞客戶端Tab標(biāo)簽的例子,需要的朋友可以參考下
    2016-03-03
  • android實(shí)現(xiàn)圓環(huán)倒計(jì)時(shí)控件

    android實(shí)現(xiàn)圓環(huán)倒計(jì)時(shí)控件

    這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)圓環(huán)倒計(jì)時(shí)控件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • Android開(kāi)發(fā)技巧之ViewStub控件惰性裝載

    Android開(kāi)發(fā)技巧之ViewStub控件惰性裝載

    布局文件中的控件并不一定在程序啟動(dòng)時(shí)全都用到,有一些控件只在特定的情況下才會(huì)被使用到;我們急需一種機(jī)制來(lái)改變<include>標(biāo)簽的這種行為,只在需要時(shí)裝載控件。這種機(jī)制就是本節(jié)要介紹的ViewStub控件
    2013-01-01
  • Android實(shí)現(xiàn)多媒體之播放音樂(lè)

    Android實(shí)現(xiàn)多媒體之播放音樂(lè)

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)多媒體之播放音樂(lè)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Android自動(dòng)測(cè)試工具M(jìn)onkey

    Android自動(dòng)測(cè)試工具M(jìn)onkey

    Monkey是Android中的一個(gè)命令行工具,可以運(yùn)行在模擬器里或?qū)嶋H設(shè)備中。它向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢(shì)輸入等),實(shí)現(xiàn)對(duì)正在開(kāi)發(fā)的應(yīng)用程序進(jìn)行壓力測(cè)試。Monkey測(cè)試是一種為了測(cè)試軟件的穩(wěn)定性、健壯性的快速有效的方法
    2016-01-01
  • 新版Android Studio3.6找不到R.java怎么處理

    新版Android Studio3.6找不到R.java怎么處理

    這篇文章主要介紹了新版Android Studio3.6找不到R.java怎么處理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 詳解如何在Flutter中集成華為認(rèn)證服務(wù)

    詳解如何在Flutter中集成華為認(rèn)證服務(wù)

    這篇文章主要介紹了詳解如何在Flutter中集成華為認(rèn)證服務(wù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Android下SDL2實(shí)現(xiàn)五子棋游戲

    Android下SDL2實(shí)現(xiàn)五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了Android下SDL2實(shí)現(xiàn)五子棋游戲的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-02-02

最新評(píng)論

太和县| 黄大仙区| 阜南县| 银川市| 伊宁县| 平江县| 台东县| 白山市| 罗山县| 犍为县| 陇川县| 日土县| 银川市| 敦煌市| 五原县| 平潭县| 孝感市| 萨迦县| 天祝| 绥芬河市| 汝南县| 武隆县| 屏东市| 灵川县| 汤阴县| 石首市| 炎陵县| 宜城市| 凤城市| 沧州市| 宁夏| 东平县| 县级市| 新丰县| 福清市| 中宁县| 西乌珠穆沁旗| 三台县| 云阳县| 瑞丽市| 晋江市|