Android XML布局中<merge>和<include>用法的简单示例

aio*_*obe 73 xml merge layout android include

我对Android XML布局中的标签<merge><include>标签感到好奇.我已经阅读了两个教程,但还没有找到一个简单的示例用法.

如果有人可以提供这样的例子或给出一个指针,那将会很高兴.

yan*_*nko 96

some_activity.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:orientation="vertical">

    // some views

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

   // probably more views

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

view_part.xml:

<merge xmlns:android="http://schemas.android.com/apk/res/android">

    // the views to be merged

</merge>
Run Code Online (Sandbox Code Playgroud)

  • @aioobe对.`<include>`基本上意味着'接收该文件并将其粘贴到此处'. (19认同)
  • 虽然接受的答案是正确的,但我发现这里的文章:[http://mfarhan133.wordpress.com/2010/10/01/reusing-layout-include-merge-tag-for-androd/](http:/ /mfarhan133.wordpress.com/2010/10/01/reusing-layout-include-merge-tag-for-androd/)帮助我更好地想象它.希望它可以帮助某人. (2认同)

Hab*_*wad 8

举个例子:

我有两个标签,<EditText>并且<ListView >有不止一个 UI。因此,我创建了一个如下所示的 XML 文件以包含在所有此类 UI 中。

<?xml ...>
<EditText ... />
<ListView ... />   
Run Code Online (Sandbox Code Playgroud)

上述 XML 不是有效的 XML,因为它没有根元素。所以为了 XML 需要一个根元素。<merge>是下面给出的解决方案:

<?xml ...>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
    <EditText ... />
    <ListView ... />
</merge>
Run Code Online (Sandbox Code Playgroud)


bk1*_*138 5

有一个简单的Android XML布局<include /> HOWTO,它也解释了http://www.coboltforge.com/2012/05/tech-stuff-layout/上常见的陷阱.这可能有帮助......