From 4fcdb590dddf728324d2eafe27b20c034a0e917d Mon Sep 17 00:00:00 2001 From: huanghaijie Date: Mon, 17 Sep 2018 10:01:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 16 +++++ .../hankkin/pagelayoutdemo/DemoActivity.kt | 4 +- .../main/res/layout/layout_loading_demo.xml | 1 + .../com/hankkin/pagelayout/BlinkLayout.java | 2 + .../java/com/hankkin/pagelayout/PageLayout.kt | 67 +++++++++++++++++-- .../src/main/res/layout/layout_loading.xml | 9 --- 6 files changed, 83 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 534e594..fa2d660 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,22 @@ Android中经常使用一个空白页和网络错误页用来提高用户体验 首先我们定义PageLayout继承FrameLayout或者LinearLayou或者其他的布局都可以,然后我们需要提供切换四个布局的功能,当然如果支持自定义就更好了,还有状态布局里面的一些属性,还方便一键配置,所以最后采用了Builder模式来创建,使用方式就和Android里面的**AlertDialog**一样,通过Builder去构建一个PageLayout。最后的样子是长这样的: +| 方法 | 注释 | +| :------------------------- | ----------------------------- | +| showLoading() | 显示loading | +| showError() | 显示错误布局 | +| showEmpty() | 显示空布局 | +| hide() | 显示内容布局 | +| **Builder** | | +| setLoading() | setLoadingText() | +| setError() | setDefaultLoadingBlinkText() | +| setEmpty() | setLoadingTextColor() | +| setDefaultEmptyText() | setDefaultLoadingBlinkColor() | +| setDefaultEmptyTextColor() | setDefaultErrorText() | +| setDefaultErrorTextColor() | setEmptyDrawable() | +| setErrorDrawable() | | + + **默认样式** ``` diff --git a/app/src/main/java/com/hankkin/pagelayoutdemo/DemoActivity.kt b/app/src/main/java/com/hankkin/pagelayoutdemo/DemoActivity.kt index 91d9f89..b073459 100644 --- a/app/src/main/java/com/hankkin/pagelayoutdemo/DemoActivity.kt +++ b/app/src/main/java/com/hankkin/pagelayoutdemo/DemoActivity.kt @@ -12,7 +12,7 @@ class DemoActivity : AppCompatActivity() { private val mPageLayout by lazy { PageLayout.Builder(this) .initPage(ll_demo) - .setLoading(R.layout.layout_loading_demo) + .setLoading(R.layout.layout_loading_demo,R.id.tv_page_loading_demo) .setEmpty(R.layout.layout_empty_demo,R.id.tv_page_empty_demo) .setError(R.layout.layout_error_demo,R.id.tv_page_error_demo,object : PageLayout.OnRetryClickListener{ override fun onRetry() { @@ -21,7 +21,9 @@ class DemoActivity : AppCompatActivity() { }) .setEmptyDrawable(R.drawable.pic_empty) .setErrorDrawable(R.drawable.pic_error) + .setLoadingText("Loading") .create() + } override fun onCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/layout_loading_demo.xml b/app/src/main/res/layout/layout_loading_demo.xml index 1e7d704..395375b 100644 --- a/app/src/main/res/layout/layout_loading_demo.xml +++ b/app/src/main/res/layout/layout_loading_demo.xml @@ -13,6 +13,7 @@ android:layout_marginTop="10dp" /> - -