Android中的UI优化之<include/>、<merge>、<ViewStub/>

来源:互联网 发布:淘宝店铺装修添加宝贝 编辑:程序博客网 时间:2024/05/17 23:26

1.include
使用很简单,在项目中有重用xml代码的情况时,可以将这些代码放在一个单独的xml文件中,然后在需要的地方使用

<include layout="@layout/title"/> 

2.merge
该标签的作用是减少布局层级,我们知道,所有的xml文件的根布局都是FrameLayout。如果一个布局文件中使用FragmeLayout作为根布局的话,那就存在两个相同的FrameLayout,实际上只需要一个就能实现相同的效果。所以在这种情况下,merge的作用是该xml中的View直接加到根布局。还有一个用处就是,当使用include引入xml时,可以将被导入的xml文件的根布局使用merge标签,前提是能实现想要的效果。
3.ViewStub
该标签的作用是当你需要时才会加载,使用他并不会影响UI初始化时的性能。各种不常用的布局像进度条、显示错误消息等可以使用这个标签,以减少内存使用量,加快渲染速度。

<ViewStub      android:id="@+id/stub_import"       android:layout_width="match_parent"      android:layout_height="wrap_content"      android:layout_gravity="bottom" />  

当你想加载布局时,可以使用下面其中一种方法:

((ViewStub) findViewById(R.id.stub_import)).setVisibility(View.VISIBLE);  // or  View importPanel = ((ViewStub) findViewById(R.id.stub_import)).inflate();  
0 0
原创粉丝点击