Настройка FontFamily для TextView - PullRequest
0 голосов
/ 10 марта 2020

У меня есть это в моих стилях:

    <style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
....
        <item name="android:fontFamily">@font/montserrat_extralight</item>
....
    </style>

У меня есть много TextViews во многих XML файлах в моем приложении. Я хочу, чтобы TextViews имел fontFamily montserrat_extralight. Но кажется, что это столь сложное требование, которое Android не может удовлетворить.

Я знаю, что если я унаследую свою деятельность от AppCompatActivity, то fontFamily будет работать. Но у меня также есть много FragmentActivities в моем коде.

Я также где-то читал, что переписывание "TextView" в "android .support.v7.widget.AppCompatTextView" помогает. Но я понятия не имею, что означает android .support.v7.widget.AppCompatTextView, и я хотел бы использовать только тег «TextView» в моих XML.

Итак, в 2020 году можно установить fontFamily для TextViews в Android?

EDIT: это мое тестовое приложение. https://drive.google.com/file/d/1i_rYPHmJ_XeR8Rajo-fgNYalhCoqyiHP/view?usp=sharing Невозможно установить fontFamily Когда я изменяю, например,

public class MainActivity extends FragmentActivity

на

public class MainActivity extends AppCompatActivity

fontFamily работает. Но моя деятельность должна быть FragmentActivity.

1 Ответ

0 голосов
/ 10 марта 2020

Создайте папку font в каталоге res и сохраните ваши шрифты в папке font .

Пример - roboto_slab_regular.ttf в папке шрифтов.

Используйте приведенный ниже код в вашем TextView

 <com.google.android.material.textview.MaterialTextView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     auto:fontFamily="@font/roboto_slab_regular" />
...