[英]Use custom fonts with androidx
我目前正在嘗試向我的 Android 項目添加自定義字體系列,該項目使用 Androidx 而不是舊的支持庫。
但我似乎無法找到一種方法來支持舊 SDK 版本(23+)中的字體系列與 AndroidX 庫,我在網上找到的所有內容都提到了舊的支持庫。
我當前的字體系列文件如下所示:
<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 版本上執行此操作?
您必須使用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
在您的 XML 文件中,您應該將TextView
替換為androidx.appcompat.widget.AppCompatTextView
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.