Я недавно узнал о слиянии и включении, и у меня есть вопрос, на который я тоже не могу ответить . Скажем, у меня есть макет, который определяет компонент заголовка, который я хочу добавить в несколько макетов. Однако я хочу изменить заголовок или значок каждого заголовка для каждого использования включения. Например, скажем, у меня есть следующий макет:
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="@style/menu_header">
<Button android:id="@+id/backButton"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/button"
android:text="@string/back"/>
<TextView style="@style/headerTitle"
android:layout_centerInParent="true"
android:text="${title}"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
</RelativeLayout>
Затем я могу включить его в другие макеты, используя:
<LinearLayout ...>
<include android:id="@+id/searchHeader" layout="@layout/shared_header" title="Search"/>
...
</LinearLayout>
Я знаю, что могу изменить любой атрибут layout_ * корневого элемента, но могу ли я определить другие атрибуты, которые будут заменены в макет, например, скажем "title" в этом примере, без необходимости создавать собственный подкласс View, добавлять определения с возможностью объявления стиля в valaues / resources и т. д.
Наличие чего-то подобного значительно упростило бы создание многоразовых представлений, но Кажется, я не могу найти никаких доказательств того, что это может сделать merge + include.