为TextView设置FontFamily

时间:2020-03-10 14:07:28

标签: android android-layout textview android-styles android-fonts

我的风格如下:

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

我的应用程序中的许多XML文件中都有许多TextView。我希望TextViews具有fontFamily montserrat_extralight。但这似乎是Android无法满足的如此复杂的需求。

我知道,如果我从AppCompatActivity继承我的活动,则fontFamily可以工作。但是我的代码中也有很多FragmentActivities。

我还在某个地方读到了将“ TextView”重写为“ android.support.v7.widget.AppCompatTextView”的帮助。但是我不知道android.support.v7.widget.AppCompatTextView是什么意思,我只想在XML中使用“ TextView”标签。

那么,到2020年,是否可以为Android中的TextViews设置fontFamily?

编辑:这是我的测试应用程序。 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 :(得分:0)

res 目录中创建 font 文件夹,并将字体保留在 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" />