一个用法与include很相似的View,但又有很大的不同。
它继承自View,且是一个很轻量级的View,是一个默认不占用内存的View,你不用它,它就跟不存在似的,也不会被渲染,更不会占用半点内存,不过当然是在其未被初始化的时候。
其初始化的操作是findViewById,然后inflate,但注意,inflate只能在当前Activity调用一次,调用第二次会报错。
当然setVisible也能让它显示,让它隐藏。
其有个属性,inflateId,这个是用来获取那个自己layout进来的布局。
注意>>
1.你显示ViewStub,如果用的是setVisible,后面就不能在用inflate了,会报错。但反过来不会。
2.inflate只能在当前Activity调用一次,调用第二次会报错
3.inflateId,即当你View inflate=vsProgress((ViewStub) findViewById(R.id.vs_progress)).inflate()后,可以用inflate这个View去findViewById(InflateId),用找到的view在findViewById(子ViewId)初始化其参数。
值得注意的是,必须要是inflate去find inflateId。不能是ViewStub这个控件,否则实例化其没有意义。