В последнее время я узнал о слиянии и включении, и у меня есть вопрос, на который я тоже не могу найти ответ. Скажем, у меня есть макет, который определяет компонент заголовка, который я хочу добавить в несколько макетов. Тем не менее, я хочу изменить заголовок или значок каждого заголовка для каждого использования использования. Например, скажем, у меня есть следующий макет:
<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 и т. д.?
Наличие чего-то подобного значительно упростит создание многоразовых представлений, но я не могу найти никаких доказательств того, что слияние + включение может это сделать.