Skip to content

XLoadingView界面多状态管理

王兴春 edited this page Mar 30, 2017 · 9 revisions

简单实用的页面状态统一管理 ,加载中、无网络、无数据、出错等状态的随意切换

使用方法

1、包裹并替换内容元素

//包裹并替换内容元素:这种方法不一定兼容各种场景,如果不行请用第二种方法
XLoadingView xLoadingView = XLoadingView.wrap(this);

//第二种方法
<com.youth.xframe.widget.loadingview.XLoadingView 
    android:id="@+id/xloading_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    
    自定义布局你可以剔出到style中统引用,方便更新

    这里包裹你的布局文件

</com.youth.xframe.widget.loadingview.XLoadingView>

页面自定义

  • 注意事项

1、 在自定义无网络界面和加载失败界面时的<点击重试>按钮,可以不限控件类型,但是必须id引用<android:id="@id/xloading_retry">

2、 如果你没有设置指定的xloading_retry为id,那么系统默认为点击整个view为回调事件

第一种方法:在Application中全局自定义:

XFrame.initXLoadingView()
      .setErrorViewResId("传入布局文件id")
      .setEmptyViewResId("传入布局文件id")
      .setLoadingViewResId("传入布局文件id")
      .setNoNetworkViewResId("传入布局文件id");

第二种方法:在布局文件中自定义:(全局就配置成style调用,局部就直接使用就行)

<com.youth.xframe.widget.loadingview.XLoadingView 
    android:id="@+id/xloading_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    app:emptyView="自定义空布局"
    app:errorView="自定义错误布局"
    app:loadingView="自定义加载布局"
    app:noNetworkView="自定义无网络布局">

页面状态切换方法调用

//显示空布局
xLoadingView.showEmpty();
//显示加载中布局
xLoadingView.showLoading();
//显示内容
xLoadingView.showContent();
//显示加载错误布局
xLoadingView.showError();
//显示无网络布局
xLoadingView.showNoNetwork();
//重新加载回调
xLoadingView.setOnRetryClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
      XToast.success("重新加载");
      xLoadingView.showLoading();
      }
   });