Подтвердить что ты не робот

Несколько значений стиля внутри представления

У меня есть 2 стиля, определенные внутри styles.xml. Я хочу применить его к текстуру. Как реализовать это с помощью стиля = "@style/"

4b9b3361

Ответ 1

Вы не можете. Вам нужно будет создать стиль, который сочетает в себе два стиля. (Или создайте только один стиль, который наследуется от одного из ваших стилей, и добавьте дополнительные данные второго стиля).

Ответ 2

Вы можете создать стиль, наследующий другой стиль

Например:

<style name="Side_Menu_Button" parent="android:attr/buttonStyleSmall">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">match_parent</item>
</style>

Если side_menu_button наследует все атрибуты buttonStyleSmall

Ответ 3

Как обходной путь, который может работать в некоторых ситуациях, вы можете обернуть свой целевой вид с помощью LinearLayout и назначить один стиль макет другому для представления:

<LinearLayout
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  style="@style/padding">

  <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Bold text with padding"
    style="@style/text_bold" />

</LinearLayout>

Ответ 4

Это хак, который я получил, чтобы работать:

<style name="TextAppearance.Title.App" parent="TextAppearance.AppCompat.Subhead">
    <item name="android:textColor">@color/primary_text_default_material_light</item>
</style>

<style name="Custom.TV" parent="TextView.App">
    <item name="android:textAppearance">@style/TextAppearance.Other.App</item>
</style>

Ответ 5

Для конкретного случая Button и других представлений, которые поддерживают атрибут textAttribute, вы можете разделить эти два стиля на стиль, специфичный для кнопки, который будет назначен стилю атрибута: стиль и стиль, специфичный для текста, который будет присвоен attribute:textAppearance. Однако обратите внимание, что атрибуты, определенные в attribute:style, переопределяют значения, определенные в attribute:textAppearance.