美文网首页
封装BaseActivity,一行代码实现加载状态的更改

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

作者: 清汤白面 | 来源:发表于2017-04-27 13:34 被阅读0次

    1 。创建BaseActivity。

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

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

    base_toobar_view  考虑到有的时候toolbar 并不能满足我们,所以这里就可以添加自定义的toolbar,这样就不影响整体的更改

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

    ok下面就开始看BaseActivity。


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

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

    我会把加载的布局放在SparseArray中去,当需要去显示的时候就判断集合中适合已经有了这个布局,若没有再通过viewstub去加载。 最后再显示出来。当然也少不了加载错误或者网络错误的时候,需要重新加载,这里我直接写个监听把方法抛出去。  这个一样放在BaseActivity。 这样我们就在子Activity中直接调用方法。

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

    显示布局 添加toobar 添加事件

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

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

    相关文章

      网友评论

          本文标题:封装BaseActivity,一行代码实现加载状态的更改

          本文链接:https://www.haomeiwen.com/subject/phtdattx.html