我的风格如下:
<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。
答案 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" />