Android <ViewStub>优化

来源:互联网 发布:软件著作权代办 编辑:程序博客网 时间:2024/06/06 09:09

介绍

在android开发当中,我们很经常会用到visible和gone进行view的显示隐藏,如果在XML布局文件使用了visible和gone属性的话,那么在这个布局初始化加载的时候就会加载出来。

需求:创建一个布局文件,这个布局在初始化加载时不需要显示,在某些情况下才显示出来。例如后台接口返回过来的数据,有一个level等级,等级1的时候要求不显示布局,等级2的时候显示B。那么在正常情况下就是等级1不需要显示的,特殊情况下就是要显示出来。

使用

在layout目录设置layout通用的xml文件

这里写图片描述

在布局文件设置XML布局
这里写图片描述

通过findViewById可以拿到控件对象,这里我们有两种显示View的方法,分别是:

 @BindView(R.id.vs_authority_add)    ViewStub vs_authority_add;

1、vs_authority_add.setvisible(VIEW.VISIBLE)
2、vs_authority_add.inflate()
其中通过inflate()可以返回View拿到里面的子view

  View inflate = vs_authority_add.inflate();  TextView tv_xinzheng = (TextView) inflate.findViewById(R.id.tv_xinzheng);

这就 一点点布局性能优化,延迟加载view。