跳转至

缺省页

缺省页对于一个用户体验良好的应用非常重要

BRV采用集成一个非常优秀缺省页库 StateLayout来实现列表缺省页

已经内嵌在BRV库中, 无需再次依赖StateLayout. 如果你的列表同时包含下拉刷新/上拉加载我建议使用PageRefreshLayout替代StateLayout


主要特点

  • 优雅的函数设计
  • 局部缺省页
  • 布局或代码声明皆可
  • 全局/单例配置
  • 监听缺省页显示
  • 自定义动画
  • 多种状态缺省页
  • 网络请求回调
  • 传递任意对象作为标签
  • 快速配置点击重试
  • 异步线程
  • 无网络立即显示错误缺省页
  • 配合列表使用自动化显示列表缺省页
  • 配合网络请求自动化显示缺省页


使用

第一步, 创建缺省页

<com.drake.statelayout.StateLayout
    android:id="@+id/state"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/rv"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</com.drake.statelayout.StateLayout>
val state = state() // 在Activity/Fragment直接函数创建缺省页, `rv.state()`也可以, 推荐使用第一种方式

第二步, 创建列表

rv.linear().setup {
    addType<Model>(R.layout.item_multi_type_simple)
    addType<DoubleItemModel>(R.layout.item_multi_type_two)
}.models = getData()

第三步, 显示缺省页

state.showLoading()  // 加载中
state.showContent() // 加载成功
state.showError() // 加载错误
state.showEmpty() // 加载失败

StateLayout

StateLayout缺省页库非常推荐使用, BRV内部集成实现列表缺省页给开发者使用

如果你想要自定义缺省页动画以及缺省页的生命周期监听建议你阅读以下文档