Изменение вложенных атрибутов во включенном макете

Я недавно узнал о слиянии и включении, и у меня есть вопрос, на который я тоже не могу ответить . Скажем, у меня есть макет, который определяет компонент заголовка, который я хочу добавить в несколько макетов. Однако я хочу изменить заголовок или значок каждого заголовка для каждого использования включения. Например, скажем, у меня есть следующий макет:

<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.

9
задан chubbsondubs 12 July 2011 в 07:34
поделиться