美文网首页
include,merge,ViewStub的使用

include,merge,ViewStub的使用

作者: ambe_gzy | 来源:发表于2019-05-13 17:28 被阅读0次

include用于代码复用,但存在多余布局嵌套问题。

使用方法:layout文件夹新建XXX.xml,将公共组件写在此处。

在需要引入公共组件的布局添加<include layout = "@layout/XXX"/> 


merge用于代码复用,是include的辅助扩展,解决了多余布局嵌套问题。

使用方法:layout文件夹新建XXX.xml,用<merge></merge>关键字包裹公共组件。

在需要引入公共组件的布局添加<include layout = "@layout/XXX"/> 


ViewStub用于懒加载,让不常用的组件在需要时才去加载。注意XXX.xml不能用merge关键字。

使用方法:在需要使用懒加载的公共组件的布局添加下面代码。

<ViewStub   

android:id="@+id/view_stub"  

android:layout="@layout/XXX"  

android:layout_width="match_parent"  

android:layout_height="wrap_content"  

/>  

在activity中创建按钮点击事件;当点击按钮时,加载布局:

(公共组件要一个个加,假设公共组件包含三个EditText)

private EditText editExtra1;  

private EditText editExtra2;  

private EditText editExtra3;  

onclick(){

    ViewStub viewStub = (ViewStub) findViewById(R.id.view_stub);  

if (viewStub != null) {  

        View inflatedView = viewStub.inflate();  

        editExtra1 = (EditText) inflatedView.findViewById(R.id.edit_extra1);  

        editExtra2 = (EditText) inflatedView.findViewById(R.id.edit_extra2);  

        editExtra3 = (EditText) inflatedView.findViewById(R.id.edit_extra3);  

}

}


相关文章

网友评论

      本文标题:include,merge,ViewStub的使用

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