Android中LoadingLayout的简单使用

年后的第一周马上要结束了,小伙伴们是不是还处于每天都睡不够、睡不醒的状态。过年的时候,也没有好好写文章,趁着这段时间项目还不是很忙,赶紧补补。

简介

我们的项目里都会遇到几种页面,分别为加载中、无网络、无数据、出错四种情况,这四种情况是我们在项目中不可避免要出现的。有一个挺牛逼的哥们把这几种情况封装成库了,方便大家使用,不过现在这个库已经停止维护了。

原理比较简单,继承FrameLayout,在xml渲染完成后,加上加载中、无网络、无数据、出错四个页面,根据需要控制显示哪一层,花了些时间,开了很多方法出来,支持很多属性的设置,算是比较实用,源码里已对各个方法的作用都加了注释。

Github地址:https://github.com/weavey/LoadingLayoutDemo

简单使用

1.gradle引用:

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

2.使用说明

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

public class LoadingApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        LoadingLayout.getConfig()
                //.setLoadingPageLayout(R.layout.loading)
                //下面的设置项,组件都提供了默认值,不想更改的可以省略
                .setErrorText("出错啦~请稍后重试!")
                .setEmptyText("抱歉,暂无数据")
                .setNoNetworkText("无网络连接,请检查您的网络···")
                .setErrorImage(R.drawable.define_error)
                .setEmptyImage(R.drawable.define_empty)
                .setNoNetworkImage(R.drawable.ic_network_check)
                .setAllTipTextColor(R.color.colorGray)
                .setAllTipTextSize(18)
                .setReloadButtonText("点我重试哦")
                .setReloadButtonTextSize(18)
                .setReloadButtonTextColor(R.color.colorGray)
                .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.drawable.define_error)
       .setErrorTextSize(16)
       .setReloadButtonText("点我重新加载哦"); //等等

给ReloadButton设置监听:

 loadingLayout.setOnReloadListener(new LoadingLayout.OnReloadListener() {
            @Override
            public void onReload(View v) {
                Toast.makeText(MainActivity.this,"重新载入",Toast.LENGTH_SHORT).show();
            }
        });

3.设置显示的页面

//载入成功
loadingLayout.setStatus(LoadingLayout.Success);
//加载失败
loadingLayout.setStatus(LoadingLayout.Error);
//正在加载
loadingLayout.setStatus(LoadingLayout.Loading);
//没有数据
loadingLayout.setStatus(LoadingLayout.Empty);
//没有网络
loadingLayout.setStatus(LoadingLayout.No_Network);

4.布局展示



        

    

总结

Loadinglayout这个库对于加载数据情况显示还是可以,而且方便快捷,不需要很多代码就可以实现。

下载

csdn:https://download.csdn.net/download/wen_haha/10960047

github:https://github.com/kongkongdaren/LoadingLayoutDemo

你可能感兴趣的:(我的Android之路,LoadingLayout,加载)