状态加载布局LoadingLayout

框架可以直接在GitHub上搜索 LoadingLayout

下面来使用LoadingLayout

导入依赖 

   implementation 'com.lai.weavey:loadinglayout:1.3.1'

xml中的代码

    <com.weavey.loading.lib.LoadingLayout
        android:id="@+id/act_loading_ll"
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:isFirstVisible="false">

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="这是一个按钮"
            />



    </com.weavey.loading.lib.LoadingLayout>

现在可以直接在Java代码中改变LoadingLayout的状态了

loadingLayout.setStatus(LoadingLayout.Loading);//加载中
loadingLayout.setStatus(LoadingLayout.Empty);//无数据
loadingLayout.setStatus(LoadingLayout.Error);//错误
loadingLayout.setStatus(LoadingLayout.No_Network);//无网络
loadingLayout.setStatus(LoadingLayout.Success);//加载成功

扩展 

为加载失败页面中的点击重试按钮设置监听

loadingLayout.setOnReloadListener(new LoadingLayout.OnReloadListener() {
        @Override
        public void onReload(View v) {

        }
    });

LoadingLayout支持全局配置 , 对所有使用到的地方都起效 , 需要在 Application中配置

public class App extends Application {

@Override
public void onCreate() {
    super.onCreate();

    LoadingLayout.getConfig()
            .setErrorText("出错啦~请稍后重试!")
            .setEmptyText("抱歉,暂无数据")
            .setNoNetworkText("无网络连接,请检查您的网络···")
            .setErrorImage(R.mipmap.define_error)
            .setEmptyImage(R.mipmap.define_empty)
            .setNoNetworkImage(R.mipmap.define_nonetwork)
            .setAllTipTextColor(R.color.gray)
            .setAllTipTextSize(14)
            .setReloadButtonText("点我重试哦")
            .setReloadButtonTextSize(14)
            .setReloadButtonTextColor(R.color.gray)
            .setReloadButtonWidthAndHeight(150,40);
}

由于“加载中”的页面,可能每个App都不一样,因此,LoadingLayout支持自定义LoadingPage,如下:

LoadingLayout.getConfig().setLoadingPageLayout(R.layout.define_loading_page);

同时,为了适应个别界面的“特殊需求”,LoadingLayout也支持局部设置各种属性,仅对当前对象生效,不影响全局。如下:

LoadingLayout  loading = (LoadingLayout) findViewById(R.id.loading_layout);
loading.setLoadingPage(R.layout.define_loading_page)
       .setEmptyText("暂无报告数据")
       .setErrorText("")
       .setNoNetworkText("")
       .setErrorImage(R.mipmap.ic_launcher)
       .setErrorTextSize(16)
       .setReloadButtonText("点我重新加载哦"); //等等

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值