Является ли Material TextAppearance полезным для обработки различных textSize

1

Я просто обнаружил ключевое слово textAppearence и TextAppearance.MaterialComponents

Пример использования:

<TextView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:fontFamily="@font/proxima_nova_soft_bold"
     android:text="@string/ads_header_last"
     android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5"
     android:textColor="@color/charcoal_grey" />

Если мы похожи на TextAppearance.MaterialComponents.Headline5 мы нашли это

<style name="TextAppearance.MaterialComponents.Headline5" parent="TextAppearance.AppCompat.Headline">
<item name="fontFamily">sans-serif</item>
<item name="android:fontFamily">sans-serif</item>
<item name="android:textStyle">normal</item>
<item name="android:textAllCaps">false</item>
<item name="android:textSize">24sp</item>
<item name="android:letterSpacing">0</item>

textSize внутри 24sp Я запутался, потому что я думал, что ключевое слово textAppearence может управлять textSize для всех экранных устройств.

Если мы используем

android:textAppearance="@android:style/TextAppearance.Material.Headline"

Стиль TextAppearance.Material.Headline

<style name="TextAppearance.Material.Headline">
    <item name="textSize">@dimen/text_size_headline_material</item>
    <item name="fontFamily">@string/font_family_headline_material</item>
    <item name="textColor">?attr/textColorPrimary</item>
</style>

и @dimen/text_size_headline_material правильно использует разные размеры для разных размеров экрана

<dimen name="text_size_headline_material">24sp</dimen>
<dimen name="text_size_headline_material">18sp</dimen>
etc...

Почему TextAppearance.MaterialComponents.Headline5 имеют разную конфигурацию? И я не могу использовать android:textAppearance="@android:style/TextAppearance.Material.Headline" потому что для этого требуется API 21

Я что-то пропустил?

Теги:
textview
android-layout

1 ответ

1

TextAppearance.MaterialComponents.Headline5 является <h5> поэтому он имеет фиксированный размер текста в стиле, поэтому, если вы собираетесь использовать этот стиль, вы не можете изменить размер текста, это тег заголовка

это будет одинаковым для всех типов устройств

Изображение 174551

Внести изменения в стиль

<style name="TvStyle" parent="TextAppearance.MaterialComponents.Headline5">
     <item name="android:textSize">16sp</item>
</style>
  • 0
    Спасибо за ваш ответ. Я не знал, что если он имеет фиксированный размер текста, это не очень полезно, знаете ли вы, если у Android есть другой стиль, который можно использовать с textApparence?
  • 0
    Вы можете сделать свой собственный стиль
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню