web技术

联系我们

web技术位置:主页 > web技术 >

轻量级的惰性控件——ViewStub

编辑:918Õ 时间:2019-01-26

     在开发过程中,有时候,需要这样一种控件,正常情况下不可见,不占用任何布局空间,只在某种特定情况下显示,这种情况下,我们使用一个普通的View,利用设置setVisibility(View.GONE)自然也可以实现,但是这样的话即使我们不需要显示View,Android也会将这个View渲染出来,只不过不显示而已。如果我们不仅仅需要一个控件,而是一个layout呢?那么是不是Android将做更多的无用功呢?而ViewStub很好的避免了这个问题,默认情况下ViewStub是不显示的,不占用父控件任何空间,当设置成显示,或者调用inflate时,ViewStub将会被我们预先写好的布局文件替换。

 

用代码简单示例:

 

 

 

     这是xml部分,就像一个普通控件放在你想放置的位置,而android:layout是设置当你调用inflate()或者setVisibility时替换这个ViewStub显示出来的layout,这个可以写在另一个文件里,默认情况是不渲染的

 

ViewStub stub == stub.inflate();

 

      当你第一次需要显示你要的内容时,才需要渲染他,调用inflate(),此时,你的ViewStub将从布局层级中消失,而取代他的是之前定义好的

http://www.bkjia.com/Androidjc/765223.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/765223.htmlTechArticle在开发过程中,有时候,需要这样一种控件,正常情况下不可见,不占用任何布局空间,只在某种特定情况下显示,这种情况下,我们使用...

本文源自: 环亚国际



上一篇:[Android学习]Android数据的四种储存方式(2)--File 下一篇:没有了