最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Android最简单的状态切换布局实现教程
时间:2022-06-25 22:47:23 编辑:袖梨 来源:一聚教程网
前言
项目中经常遇到这样一种情况,新打开的界面需要加载数据,存在多种状态的结果,需要根据不同结果展示界面,这个过程归纳起来可以分为五种状态:初始状态、请求状态、空数据状态、网络错误状态、成功请求状态。 如果多个界面都存在这个流程,那么封装整个过程的调用就很有必要了,既可以简化调用过程,又可以很方便的管理整个流程。
下面话不多说了,来一起看看详细的介绍吧
功能简介
- 正在加载数据
- 数据加载失败
- 数据加载为空
- 网络加载失败
- 重试点击事件
- 支持自定义布局
效果图展示
最简单的使用方式
1.Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://*jitpack.*i*o' }
}
}
2.Add the dependency
dependencies {
implementation 'com.github.pengMaster:MultipleLayout:1.0.0'
}
3.在布局中添加
注意: MultipleLayout 可做为没有标题栏的最外层布局,内部可包裹任何内容
4.代码中使用
//重试点击事件
mMultipleLayout.setOnRetryClickListener {
//模拟网络请求
Toast.makeText(this@MainActivity,"正在加载。。",Toast.LENGTH_SHORT).show()
}
//数据为空
mMultipleLayout.showEmpty()
//加载失败
mMultipleLayout.showError()
//正在加载
mMultipleLayout.showLoading()
//网络加载失败
mMultipleLayout.showNoNetwork()
//显示内容
mMultipleLayout.showContent()
扩展功能
1.自定义状态布局
app:emptyView="@layout/layout_empty_view" app:errorView="@layout/layout_error_view" app:loadingView="@layout/layout_loading_view" app:noNetworkView="@layout/layout_network_view">
2.代码引入布局
//数据为空 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) //网络加载失败 void showNoNetwork(int layoutId, ViewGroup.LayoutParams layoutParams) showNoNetwork(View view, ViewGroup.LayoutParams layoutParams)
3.扩展
后续添加各种弹框
参与贡献
- Fork 本项目
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request
github地址
项目地址:
相关文章
- dnf神界版本精灵骑士装备搭配毕业攻略 精灵骑士装备怎么选 11-29
- 播种委员会公园解锁方法 公园怎么解锁 11-29
- pcl2启动器怎么加模组 模组添加方法汇总 11-29
- dnf神界版本影舞者装备搭配毕业攻略 影舞者装备怎么选 11-29
- dnf神界版本死灵术士装备搭配毕业攻略 死灵术士装备怎么选 11-29
- 洛克王国世界伏地兽进化路线是什么 洛克王国世界伏地兽进化路线攻略 11-29
