Skip to content

Commit

Permalink
update: 1.3.9
Browse files Browse the repository at this point in the history
  • Loading branch information
liangjingkanji committed Aug 12, 2022
1 parent 997daf3 commit 660b455
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 21 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<p align="center">
<a href="http://liangjingkanji.github.io/StateLayout/">使用文档</a>
| <a href="https://github.com/liangjingkanji/document/blob/master/visit-pages.md">无法访问?</a>
| <a href="https://github.com/liangjingkanji/StateLayout/releases/download/1.3.8/state-layout-sample.apk">下载体验</a>
| <a href="https://github.com/liangjingkanji/StateLayout/releases/download/1.3.9/state-layout-sample.apk">下载体验</a>
</p>

<p align="center">
Expand Down Expand Up @@ -75,7 +75,7 @@ dependencyResolutionManagement {
然后在 module 的 build.gradle 添加依赖框架

```groovy
implementation 'com.github.liangjingkanji:StateLayout:1.3.8'
implementation 'com.github.liangjingkanji:StateLayout:1.3.9'
```

<br>
Expand Down
6 changes: 3 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ StateLayout布局包裹的内容才能控制其显示缺省页
</com.drake.statelayout.StateLayout>
```
=== "代码包裹"
但是更建议在XML布局中创建, 可保持代码可读性且避免不必要的问题发生, 性能也更优
本方法不推荐使用, 建议在Xml布局中创建StateLayout, 可保持代码可读性且避免不必要的问题发生, 性能也更优, 请注意反复调用本方法会反复创建StateLayout导致发生问题
```kotlin
createState() // 该函数可以在 Activity/Fragment中使用, 或者 View.createState()
stateCreate() // 该函数可以在 Activity/Fragment中使用, 或者 View.stateCreate()
```

> 比如ViewPager中的Fragment不能使用`createState()`创建, 因为其ViewPager的视图容器无法被替换
> 比如ViewPager中的Fragment不能使用`stateCreate()`创建, 因为其ViewPager的视图容器无法被替换
<br>
## 设置缺省页
Expand Down
23 changes: 7 additions & 16 deletions statelayout/src/main/java/com/drake/statelayout/StateUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,17 @@ import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager.widget.ViewPager

/**
* 创建一个缺省页来包裹Activity
* 但是更建议在XML布局中创建, 可保持代码可读性且避免不必要的问题发生, 性能也更优
* 创建一个缺省页来包裹Activity, 请注意反复调用本方法会反复创建[StateLayout]导致发生问题
* 本方法不推荐使用, 建议在Xml布局中创建[StateLayout], 可保持代码可读性且避免不必要的问题发生, 性能也更优
*/
fun Activity.stateCreate(): StateLayout {
val view = (findViewById<View>(android.R.id.content) as ViewGroup).getChildAt(0)
return view.stateCreate()
}

/**
* 创建一个缺省页来包裹Fragment
* 但是更建议在XML布局中创建, 可保持代码可读性且避免不必要的问题发生, 性能也更优
* 创建一个缺省页来包裹Fragment, 请注意反复调用本方法会反复创建[StateLayout]导致发生问题
* 本方法不推荐使用, 建议在Xml布局中创建[StateLayout], 可保持代码可读性且避免不必要的问题发生, 性能也更优
*/
fun Fragment.stateCreate(): StateLayout {
val stateLayout = requireView().stateCreate()
Expand All @@ -58,8 +58,8 @@ fun Fragment.stateCreate(): StateLayout {
}

/**
* 创建一个缺省页来包裹视图
* 但是更建议在XML布局中创建, 可保持代码可读性且避免不必要的问题发生, 性能也更优
* 创建一个缺省页来包裹视图, 请注意反复调用本方法会反复创建[StateLayout]导致发生问题
* 本方法不推荐使用, 建议在Xml布局中创建[StateLayout], 可保持代码可读性且避免不必要的问题发生, 性能也更优
*/
fun View.stateCreate(): StateLayout {
val parent = parent as ViewGroup
Expand All @@ -85,13 +85,4 @@ fun View.stateCreate(): StateLayout {

stateLayout.setContent(this)
return stateLayout
}

@Deprecated("命名规范", ReplaceWith("stateCreate()"))
fun Activity.state(): StateLayout = stateCreate()

@Deprecated("命名规范", ReplaceWith("stateCreate()"))
fun Fragment.state(): StateLayout = stateCreate()

@Deprecated("命名规范", ReplaceWith("stateCreate()"))
fun View.state(): StateLayout = stateCreate()
}

0 comments on commit 660b455

Please sign in to comment.