Как я могу изменить вес шрифта в моем проекте, который имеет семейство шрифтов по умолчанию для всех textviews?

#android #fonts #font-family #text-styling

#Android #шрифты #семейство шрифтов #стиль текста

Вопрос:

У меня есть проект, и в этом проекте я определил семейство шрифтов для всех текстовых представлений в стиле AppTheme.

Семейство montserrat шрифтов есть только в текстовых представлениях, которые я использую montserrat_semibold , montserrat_regular и montserrat_medium .

   <style name="AppTheme" parent="Theme.MaterialComponents.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="android:textViewStyle">@style/MontserratTextViewStyle</item>

        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

    <style name="MontserratTextViewStyle" parent="android:Widget.TextView">
        <item name="android:fontFamily">@font/montserrat</item>
    </style>
 

Как я могу изменить их вес в разных XML-файлах textviews?

Ответ №1:

Хм, единственный способ, которым я могу придумать, это создать несколько стилей в вашем styles.xml :

 <style name="MontserratTextViewStyle" parent="android:Widget.TextView">
    <item name="android:fontFamily">@font/montserrat</item>
</style>

<style name="MontserratTextViewSemiBoldStyle" parent="android:Widget.TextView">
    <item name="android:fontFamily">@font/montserrat_semibold</item>
</style>

<style name="MontserratTextViewRegularStyle" parent="android:Widget.TextView">
    <item name="android:fontFamily">@font/montserrat_regualr</item>
</style>

<style name="MontserratTextViewMediumStyle" parent="android:Widget.TextView">
    <item name="android:fontFamily">@font/montserrat_medium</item>
</style>
 

Затем для любого TextView , который не использует значение по умолчанию montserrat , т.Е., Может быть, вы хотите montserrat_medium :

 <TextView
    style="@style/MontserratTextViewMediumStyle"
   ....
/>
 

Комментарии:

1. Рад помочь!