封装BaseActivity,一行代码实现加载状态的更改

1 。创建BaseActivity。

之前遇到加载错误,空数据,网络错误,和加载中,我都是在当前activity去隐藏和显示对应的布局,导致重复很多代码。so, 必须封装。

首先 布局,  采用ViewStub  对更种布局的添加 ,因为有的时候,这几种布局不一定都需要展示出来,所以就用viewstub来加载优化。 先看图。


封装BaseActivity,一行代码实现加载状态的更改_第1张图片
base_toobar_view  考虑到有的时候toolbar 并不能满足我们,所以这里就可以添加自定义的toolbar,这样就不影响整体的更改
封装BaseActivity,一行代码实现加载状态的更改_第2张图片
封装BaseActivity,一行代码实现加载状态的更改_第3张图片

base_contentView 主要就是为了加载需要显示的布局。

ok下面就开始看BaseActivity。


封装BaseActivity,一行代码实现加载状态的更改_第4张图片
封装BaseActivity,一行代码实现加载状态的更改_第5张图片

getLayoutInflater().inflate(layoutResID, null, false); 和getLayoutInflater().inflate(getToobarId(), null, false); 来加载布局和toobar ,然后添加到BaseView中去。

2. 加载状态布局和显示。


封装BaseActivity,一行代码实现加载状态的更改_第6张图片
我会把加载的布局放在SparseArray中去,当需要去显示的时候就判断集合中适合已经有了这个布局,若没有再通过viewstub去加载。 最后再显示出来。当然也少不了加载错误或者网络错误的时候,需要重新加载,这里我直接写个监听把方法抛出去。


封装BaseActivity,一行代码实现加载状态的更改_第7张图片
 这个一样放在BaseActivity。 这样我们就在子Activity中直接调用方法。

子activity中引用就没什么好说的了。


封装BaseActivity,一行代码实现加载状态的更改_第8张图片
显示布局


添加toobar
封装BaseActivity,一行代码实现加载状态的更改_第9张图片
添加事件

看看动图。。。 录制屏幕了 装不来gif 就不上传了。  可以直接下载下来跑一下, github里面有debug包

github 地址 :https://github.com/CQBOBOZHU/BaseState 

你可能感兴趣的:(封装BaseActivity,一行代码实现加载状态的更改)