簡體   English   中英

在 androidx 中使用自定義字體

[英]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 版本上執行此操作?

您必須使用appandroid屬性聲明您的字體。 所以它適用於“所有”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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM