Android:在xml中创建一个可更改的模块

时间:2012-10-08 02:50:15

标签: android xml

是否可以创建一个xml模块/结构,我可以将其包含在另一个带有自定义设置的xml中?

我们的想法是创建一个带有搜索栏,文本和文本输入的模块。我将在另一个xml中需要这个模块大约20次,但是它的值(如text和id)对于每个实例都是不同的。

有没有办法在xml中执行此操作?

或者有没有办法创建一个使用这个基础xml模块的类,让我通过xml设置所需的值?

1 个答案:

答案 0 :(得分:1)

是的,您可以在xml布局中使用merge和include标记。例如,在grid_layout_view.xml中,您有以下代码:

<?xml version="1.0" encoding="utf-8"?><GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" 
android:orientation="vertical">
    <include android:id="@+id/my_inside_grid_layout" 
             layout="@layout/grid_layout_inside"/>    </GridLayout>

请注意使用标记导入grid_layout_inside.xml文件的内容,该文件包含以下内容:

    <?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ListView
        android:background="#FFFFFFFF"
        android:layout_gravity="fill">
    </ListView>
    <LinearLayout
        android:layout_gravity="fill_horizontal"
        android:orientation="horizontal"
        android:padding="5dp">

        <Button
            android:text="Cancel"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
        <Button
            android:text="OK"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
     </LinearLayout>

</merge>

跳这个有帮助, 鲁