# stateful.layout
**Repository Path**: milkcoder/stateful.layout
## Basic Information
- **Project Name**: stateful.layout
- **Description**: 方便Android开发者根据不同的状态切换布局的自定义布局,基于FrameLayout,可同时存在多个同状态的子布局,可方便的自定义默认状态的而已,可自定义切换动画。
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-11-28
- **Last Updated**: 2021-11-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# StatefulLayout
方便Android开发者根据不同的状态切换布局的自定义布局,基于FrameLayout,可同时存在多个同状态的子布局,可方便的自定义默认状态的而已,可自定义切换动画。
# 当前最新版本号:[](https://jitpack.io/#com.gitee.numeron/stateful)
### StatefulLayout
* 通过设置`state`的值切换不同的布局,共有4种状态:Empty, Loading, Failure, Success:
```kotlin
try {
statefulLayout.state = State.Loading
val list = getDateList()
adapter.submitList(list)
statefulLayout.state = if(list.isEmpty) State.Empty else State.Success
} catch (throwable: Throwable) {
statefulLayout.state = State.Failure
}
```
* 设置页面中不同状态下的布局:
```xml
```
* 如果想统一修改除success以外所有状态的默认视图,可在当前正在应用的主题资源中添加以下属性并指定新的`Style`:
```xml
```
### 引入
1. 在你的android工程的根目录下的build.gradle文件中的适当的位置添加以下代码:
```groovy
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
```
2. 在你的android工程中对应的android模块的build.gradle文件中的适当位置添加以下代码:
```groovy
implementation 'cn.numeron:stateful.layout:latest_version'
```