Как я могу автоматически применить стиль родителя? - PullRequest
2 голосов
/ 30 мая 2011

У меня есть макет, который содержит пользовательский макет.Я хотел бы передать стиль от одного элемента к другому.У меня есть класс, который раздувает макет, который я могу опубликовать в случае необходимости.Этот элемент дизайна дополнен двумя разными макетами разных размеров в зависимости от того, что требуется.

Child layout

<TableLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal">
    <TableRow android:layout_height="wrap_content" android:gravity="center_horizontal" android:layout_width="fill_parent" android:id="@+id/tableRow1">
        <Button android:text="1" android:id="@+id/nb1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40sp" android:layout_margin="1dip" android:minWidth="70dip"></Button>
        <Button android:text="2" android:id="@+id/nb2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40sp" android:layout_margin="1dip" android:minWidth="70dip"></Button>
        <Button android:text="3" android:id="@+id/nb3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40sp" android:layout_margin="1dip" android:minWidth="70dip"></Button>
    </TableRow>
</TableLayout>

А вот родительский макет

Parent Layout

<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
    <pearsonartphoto.AJEG.number_viewer android:id="@+id/numberviewer" style="@style/bigViewer" android:layout_alignParentRight="true" android:layout_alignParentBottom="true">
    </pearsonartphoto.AJEG.number_viewer>
</RelativeLayout>

Я хотел бы передать стиль и повторить стиль для всех дочерних элементов илихотя бы элементы textView.Что мне нужно сделать, чтобы это произошло?

1 Ответ

3 голосов
/ 09 сентября 2011

Насколько я знаю, в Android нет способа наследовать стиль родительского для дочерних представлений, не просто вкладывая их!

Единственное, что вы можете сделать, это применить стиль кродительский, скажем, styleA, а затем применение стиля к дочерним элементам, скажем, styleB

, и наследование может быть выполнено в стилях, я имею в виду, что styleB может наследовать свойства от styleA, а также переопределять некоторые из его родительских значений

fill_parent wrap_content # 00FF00 monospace

fill_parent wrap_content # 00FF00 monospace

плохая новость заключается в том, что вы должны поместить стиль в каждый дочерний элемент :-(

Iдумаю, что это единственный способ придать стиль некоторому элементу, если вы хотите придать стиль группе элементов, чем вы должны определить тему и применить ее к действию или к приложению, это обычно делается в коде, но это может бытьсделано также программно.

...