使用 Android O 中的字型

Android O 改變了使用字型的方式。

Android O 引入了一項名為 Fonts in XML 的新功能,允許你將字型用作資源。這意味著,不需要將字型繫結為資產。字型現在在 R 檔案中編譯,並在系統中作為資源自動提供。

要新增新字型,你必須執行以下操作:

  • 建立一個新的資源目錄:res/font
  • 將字型檔案新增到此字型資料夾中。例如,通過新增 myfont.ttf,你將能夠通過 R.font.myfont 使用此字型。

你還可以通過將以下 XML 檔案新增到 res/font 目錄來建立自己的字型系列

<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
    <font
        android:fontStyle="normal"
        android:fontWeight="400"
        android:font="@font/lobster_regular" />
    <font
        android:fontStyle="italic"
        android:fontWeight="400"
        android:font="@font/lobster_italic" />
</font-family>

你可以以相同的方式使用字型檔案和字型系列檔案:

  • **在 XML 檔案中,**通過使用 android:fontFamily 屬性,例如:

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fontFamily="@font/myfont"/>
    

    或者像這樣:

    <style name="customfontstyle" parent="@android:style/TextAppearance.Small">
        <item name="android:fontFamily">@font/myfont</item>
    </style>
    
  • 在你的程式碼中,使用以下程式碼行:

    Typeface typeface = getResources().getFont(R.font.myfont);
    textView.setTypeface(typeface);