Мне просто нужно, чтобы кто-то сказал мне, правильно ли я понял, когда использовать <include>
и когда <merge>
.
Итак, я делаю макет заголовка, который я хочу включить в какой-то другой макет XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Header text" />
</LinearLayout>
И включаю его в какой-то другой XML-код таким образом (который довольно прост):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<include
android:id="@+id/header"
layout="@layout/top"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Это будет хорошо работать, без проблем.Но чтобы оптимизировать код, я должен использовать <merge>
в макете, который включается.Таким образом, top layout
не должен иметь тега <LinearLayout>
, но он должен выглядеть следующим образом:
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Header text" />
</merge>
Правильно ли я понял это?