В чем разница между стилями TextView и атрибутами android: textAppearance?
Если я определяю свой TextView
как:
<TextView
style="@android:style/TextAppearance.DeviceDefault.Large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
это в основном то же самое, что и делать:
<TextView
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
Я знаю, что style
- это своего рода более широкий классификатор (т. android:textAppearance
Нельзя устанавливать все атрибуты в android:textAppearance
), но затем возникает вопрос: зачем беспокоиться? Есть ли преимущество использования android:textAppearance
over style
?
Ответы
Ответ 1
Вы можете иметь только один атрибут стиля для каждого представления, но использование TextAppearance позволяет по существу определять стиль, используя ограниченный набор атрибутов, соответствующих тексту. Вы можете использовать как стиль, так и TextAppearance в одном представлении.
Ответ 2
Кажется, что стиль является атрибутом для всех представлений, даже TextView и textAppearance применяют только некоторые "компоненты стиля", которые доступны только для текстов. Вы можете применять свои собственные стили в обоих стилях.
https://developer.android.com/guide/topics/resources/style-resource.html https://developer.android.com/reference/android/R.attr.html#textAppearance
textAppearance
По умолчанию появляется текст: цвет, шрифт, размер и стиль.
стиль
Это относится ко всему
Ответ 3
Из стилей и тем https://developer.android.com/guide/topics/ui/look-and-feel/themes#textappearance
Одно ограничение для стилей заключается в том, что вы можете применять только один стиль к представлению. Однако в TextView вы также можете указать атрибут TextAppearance, который работает аналогично стилю
TextAppearance позволяет вам определять стили для конкретного текста, оставляя стиль Views доступным для других целей. Однако обратите внимание, что если вы определяете какие-либо текстовые атрибуты непосредственно в представлении или в стиле, эти значения переопределяют значения TextAppearance.