Android自定义网络状态请求页面

729 阅读1分钟

VastNetStateLayout

VastNetStateLayout继承自framelayout。你可以自定义下列状态页面: loading,error,ok,empty data.

💫 特性

  • 👍 支持自定义四种状态页面 loading 加载页面 empty data 空数据页面 net error 网络错误页面 retry 重试界面
  • 👍 支持自定义界面点击事件
  • 👍 使用VastNetStateMgr进行界面管理
  • 👍 设置有默认界面,添加即用

😎 如何使用

implementation 'io.github.sakurajimamaii:VastNetStateLayout:0.0.2'

🤔 设定

在你的布局文件内添加VastNatStateLayout

<com.gcode.vastnetstatelayout.view.VastNetStateLayout
    android:id="@+id/net_state_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!--正常情况下显示的内容-->
</com.gcode.vastnetstatelayout.view.VastNetStateLayout>

设定网络状态布局,我们这里以设置加载页面为例

// 获取vastNetStateMgr
val vastNetStateMgr = VastNetStateMgr(this)
// 设置布局
vastNetStateMgr.setLoadingView(R.layout.simple_loading_view)

设置点击事件,我们以设置重试事件为例

vastNetStateMgr.setVastRetryClickListener(object : VastRetryClickListener {
    override fun onRetry() {
        object:Handler(Looper.getMainLooper()) {
            override fun handleMessage(msg: Message) {
                super.handleMessage(msg)
                mNetStateLayout!!.showNetError() //显示对应的界面
            }
        }.sendEmptyMessageDelayed(0, 3000)
    }
})

将设置好的vastNetStateMgrVastNatStateLayout

mNetStateLayout!!.setVastNetStateMgr(vastNetStateMgr)

😄 项目源码

点击VastUtils查看源码,欢迎star和fork,如果你有改进意见也可以在issue内提出