Skip to content

Commit

Permalink
debug,add showError(msg)
Browse files Browse the repository at this point in the history
  • Loading branch information
huangshuisheng committed Nov 24, 2016
1 parent 94f62b9 commit 9d70d09
Show file tree
Hide file tree
Showing 29 changed files with 293 additions and 165 deletions.
1 change: 0 additions & 1 deletion .idea/.name

This file was deleted.

10 changes: 2 additions & 8 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .idea/libraries/animated_vector_drawable_24_2_1.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 2 additions & 6 deletions .idea/libraries/appcompat_v7_24_2_1.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .idea/libraries/support_annotations_24_2_1.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 2 additions & 6 deletions .idea/libraries/support_compat_24_2_1.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 2 additions & 6 deletions .idea/libraries/support_core_ui_24_2_1.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .idea/libraries/support_core_utils_24_2_1.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 3 additions & 7 deletions .idea/libraries/support_fragment_24_2_1.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 3 additions & 7 deletions .idea/libraries/support_media_compat_24_2_1.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .idea/libraries/support_vector_drawable_24_2_1.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

130 changes: 129 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,130 @@
# PageStateManager
# PageManager
页面状态管理

在张鸿洋的[LoadingAndRetryManager](https://github.com/hongyangAndroid/LoadingAndRetryManager)的基础上改写,优化api,封装常用的逻辑.

# API

## BaseApplication里的初始化

```
public static void initInApp(Context appContext)//使用默认提供的几个状态页面
/**
自定义状态页面,传入相应的layout文件的id即可.
* 如果需要后续调用自定义空白msg,错误msg字符串的api,则页面中显示该字符串的textview的id必须为tv_msg_empty,tv_msg_error
*/
public static void initInApp(Context appContext,int layoutIdOfEmpty,int layoutIdOfLoading,int layoutIdOfError)
```



## 页面中生成PageManager对象

```
/**
* @param container 必须为activity,fragment或者view.如果是view,则该view对象必须有parent
* @param retryAction 点击重试的动作,注意,只需要关注有网络的情况,无网络状态时已经封装好:弹出对话框询问用户是否去设置网络
* @return 当前页面的状态管理器
*/
public static PageManager init(final Object container, final Runnable retryAction)
//如果当前页面的空白状态下,提示语需要自定义,则调用此方法
public static PageManager init(final Object container, final CharSequence emptyMsg, final Runnable retryAction)
```

## 控制页面状态

```
public void showLoading()
public void showContent()
public void showEmpty()
public void showError()
public void showError(CharSequence errorMsg)
```



# 默认的几个页面状态UI图



![loading](loading.jpg)





![empty](empty.jpg)



![error](error.jpg)



# 使用

## gradle

**Step 1.** Add the JitPack repository to your build file

Add it in your root build.gradle at the end of repositories:

```
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
```

**Step 2.** Add the dependency

```
dependencies {
compile 'com.github.hss01248:PageStateManager:1.0.0'
}
```



## 示例代码

```
pageStateManager = PageManager.init(this, "空空快快快快快快快快快快快快",new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,"点击重试了...",Toast.LENGTH_LONG).show();
doNet();
}
});
private void doNet() {
pageStateManager.showLoading();
handler.postDelayed(new Runnable() {
@Override
public void run() {
int state = new Random().nextInt(3);
switch (state){
case 0:
pageStateManager.showError("哈哈哈哈哈错误了");
break;
case 1:
pageStateManager.showEmpty();
break;
case 2:
pageStateManager.showContent();
}
}
},2000);
}
```
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apply plugin: 'com.android.application'

android {
compileSdkVersion 24
buildToolsVersion "25.0.1"
buildToolsVersion "24.0.1"

defaultConfig {
applicationId "com.hss01248.pagestate.demo"
Expand Down
Loading

0 comments on commit 9d70d09

Please sign in to comment.