Мне просто нужно, чтобы кто-то сказал мне, правильно ли я понял, когда использовать <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>
Правильно ли я понял это?