1. 程式人生 > >專案中針對網路異常、空資料、載入失敗等狀態的多種狀態切換檢視

專案中針對網路異常、空資料、載入失敗等狀態的多種狀態切換檢視

MultipleStatusView

關於

一個可以用來切換多種狀態檢視的view,適用於載入失敗狀態、空資料狀態、網路異常狀態等場景,同時支援自定義檢視!

演示

demo

新增依賴

  • 使用Gradle
   // 注:如果新增依賴成功,則此句不必新增,此句作用僅為當專案在被稽核時,緊急需要使用時新增
   allprojects {
       repositories {
           ...
           // 如果新增依賴時,報找不到專案時(專案正在稽核),可以新增此句maven地址,如果找到專案,可不必新增
           maven { url "https://dl.bintray.com/albertlii/android-maven/"
} } } dependencies { compile 'com.liyi.view:multiple-status-view:1.0.1' }
  • 使用Maven
   <dependency>
      <groupId>com.liyi.view</groupId>
      <artifactId>multiple-status-view</artifactId>
      <version>1.0.1</version>
      <type>pom</type>
   </dependency>

預設提供的型別

型別 說明
MultipleStatusView.ViewType.TYPE_LOADING 載入中
MultipleStatusView.ViewType.TYPE_NETWORK_POOR 網路異常
MultipleStatusView.ViewType.TYPE_EMPTY 空資料
MultipleStatusView.ViewType.TYPE_ERROR 載入失敗
MultipleStatusView.ViewType.TYPE_SPECIFIED 自定義

**除了預設提供的型別,也可自定義型別

自定義屬性

屬性 說明
loading 載入中檢視
network_poor 網路異常檢視
empty 空資料檢視
error 載入失敗檢視
specified 自定義檢視

使用方法

程式碼中使用

  // 顯示指定型別的檢視
  MultipleStatusView.showView(int viewType)

  // 動態設定檢視
  MultipleStatusView.setView(int viewType,int layoutId)
  MultipleStatusView.setView(int viewType,View view)

  // 關閉狀態檢視
  MultipleStatusView.dismiss()

xml中使用

  <com.liyi.multiple.MultipleStatusView
      android:id="@+id/multipleStatusView_custom"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:empty="@layout/custom_test_view"
      app:error="@layout/custom_test_view"
      app:loading="@layout/custom_test_view"
      app:network_poor="@layout/custom_test_view"
      app:specified="@layout/custom_test_view" />

github傳送門