У меня есть 2 стиля, определенные внутри styles.xml. Я хочу применить его к текстуру. Как реализовать это с помощью стиля = "@style/"
Несколько значений стиля внутри представления
Ответ 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
.