Я хочу установить android:textAppearance
из нескольких TextViews
. Для этого я объявил следующий стиль:
<style name="TextAppearance.MyTheme.Headline1" parent="TextAppearance.MaterialComponents.Headline1">
<item name="android:fontFamily">@font/montserrat</item>
<item name="android:textStyle">normal</item>
<item name="android:textFontWeight">400</item>
<item name="android:textSize">@dimen/text_size_215</item>
</style>
В моей теме для указанного стиля будет установлено значение attr
из textAppearanceHeadline
, например:
<item name="textAppearanceHeadline1">@style/TextAppearance.MyTheme.Headline1</item>
семейство шрифтов XML написано так:
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<font
app:fontStyle="normal"
app:fontWeight="200"
app:font="@font/montserrat_extralight" />
<font
app:fontStyle="normal"
app:fontWeight="400"
app:font="@font/montserrat_regular" />
<font
app:fontStyle="normal"
app:fontWeight="500"
app:font="@font/montserrat_medium" />
<font
app:fontStyle="normal"
app:fontWeight="600"
app:font="@font/montserrat_semibold" />
</font-family>
Все ссылки @font/montserrat_*
- это .ttf
файлы, которые я включил в свою папку ресурсов. Затем я установлю стиль, используя указанное attr
значение, равное TextView
Я хочу стилизовать так:
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Writing Words"
android:textAppearance="?attr/textAppearanceHeadline1"
app:layout_constraintEnd_toEndOf="@+id/headingView"
app:layout_constraintStart_toStartOf="@+id/headingView"
app:layout_constraintTop_toBottomOf="@+id/headingView" />
Проблема в том, что семейство шрифтов и font-weight применяются неправильно (они изменить семейство шрифтов по умолчанию и font-weight). Размер применяется правильно. Я что-то здесь не так сделал?
ОБНОВЛЕНИЕ
Когда я пытаюсь установить только android:textAppearance
или style
на TextView
с ?attr/textAppearanceHeadline1
, это не устанавливает семейство шрифтов и вес шрифта. Однако, когда я устанавливаю android:fontFamily
и android:fontWeight
вместе с android:textAppearance
, это работает. Установка этих параметров вместе с style
не работает. Почему это так? Что происходит?