Использование стиля вместо Android: textAppearance - PullRequest
0 голосов
/ 31 мая 2018

android:textAppearance позволяет применить дополнительный слой стиля для определенных атрибутов в текстовых представлениях.Мне интересно, перевешивает ли гибкость этой функции ее сложность.

  • Требуется ли android:textAppearance по какой-либо технической или визуальной причине?
  • Какие могут быть последствия, если полагаться исключительно наstyle во всем проекте и не использовать android:textAppearance в макетах?
  • Что, если он также был исключен из стилей?

Вот два руководства, которые рекомендуют использовать android:textAppearance:

Стилизация видов на Android (без сумасшествия)

TextAppearance позволяет объединить два стиля для некоторых наиболее часто изменяемых атрибутов текста.Посмотрите на все ваши стили: сколько из них только изменяют внешний вид текста?В этих случаях вы можете вместо этого просто изменить TextAppearance.

Лучшие практики для счастливых ресурсов Android

Чтобы обеспечить согласованный вид TextViews, сделайтене определяйте какие-либо атрибуты TextAppearance в обычном стиле, но всегда устанавливайте TextAppearance из вашей библиотеки в поле android: textAppearance этого стиля.

1 Ответ

0 голосов
/ 31 мая 2018

Глядя на TextView.java, похоже, что нет никаких атрибутов, определенных android:textAppearance, которые нельзя установить непосредственно на TextView.Таким образом, по-видимому, нет никаких технических причин, по которым нужно использовать их для определения атрибутов непосредственно в стилях, по крайней мере, в способности настраивать внешний вид TextView.

Это означает, что вы можете избежатьиспользование его в ваших макетах, а также в ваших стилях без каких-либо негативных последствий при условии, что вы переопределите все связанные атрибуты.Базовая тема определяет множество различных стандартных android:textAppearance для различных виджетов, поэтому вы должны проверить, что все виджеты правильно переопределены.

Исходя из моего опыта, android:textAppearance наиболее полезен, если вы хотите, чтобы ваше приложениечтобы появиться, чтобы интегрировать в остальную часть устройства.Так что если вам нужен большой текст, вы можете использовать android:textAppearance="?android:attr/textAppearanceLarge", и теперь ваш текст большой!Не нужно знать, сколько sp это означает для данного устройства / размера экрана / и т. Д.

Однако, если ваше приложение имеет высокий стиль и в любом случае вы переопределяете все размеры текста, значение-адд android:textAppearance уменьшается.Вы, конечно, можете использовать его, как указано в постах выше, но если это не вписывается в вашу систему стилей, не стесняйтесь опускать его.Это просто еще один инструмент, который поможет вам создать красивое приложение на всех устройствах.

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

...