我目前正在尝试向使用Androidx而不是旧的支持库的Android项目中添加自定义字体系列。
但是我似乎找不到使用AndroidX库在旧版SDK版本(23+)中支持字体系列的方法,我在网上找到的所有内容都提到了旧的支持库。
我当前的字体系列文件如下:
<font-family
xmlns:app="http://schemas.android.com/apk/res-auto">
<font
app:fontStyle="normal"
app:fontWeight="500"
app:font="@font/raleway_medium"/>
<font
app:fontStyle="normal"
app:fontWeight="700"
app:font="@font/raleway_bold" />
<font
app:fontStyle="normal"
app:fontWeight="600"
app:font="@font/raleway_semibold" />
</font-family>
是否可以通过androidx库在较早的SDK版本上实现此目的?
答案 0 :(得分:1)
在XML文件中,应将TextView
替换为androidx.appcompat.widget.AppCompatTextView
。
答案 1 :(得分:0)
您必须使用app
和android
属性声明字体。因此,它将适用于“所有” SDK版本。
<font
android:font="@font/myfont"
android:fontStyle="normal"
android:fontWeight="400"
app:font="@font/myfont"
app:fontStyle="normal"
app:fontWeight="400" />
声明字体后,可以通过以下方式将其应用到xml中:
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:fontFamily">@font/customfont</item>
<item name="fontFamily">@font/customfont</item>
...
或通过编程方式通过
val typeface = ResourcesCompat.getFont(context, R.font.customfont)
textView.typeface = typeface