Android 內建有 Sans、Serif 及 Monospace 等三種字型,只要在 layout 設定時指定就可以了:
檢視原始碼 XML
1 | android:typeface="font name" |
那有辦法使用自訂的字型嗎?筆者是不曉得其它的平台是否可行,但在 Android 上是一件很簡單不過的事。首先在專案中的 assets 資料夾中建立一個名為 fonts 的資料夾,接著在把字型檔放入該資料夾:
接著只要利用 Typeface 就能把自訂的字型給其它元件使用囉。
檢視原始碼 Android
1 2 3 4 5 6 7 | import android.graphics.Typeface; import android.widget.TextView; Typeface font = Typeface.createFromAsset(getAssets(), "fonts/Bleeding Cowboys.ttf"); TextView custom = (TextView)findViewById(R.id.customFont); custom.setTypeface(font); |
接著...接著就直接看效果了:
而 createFromAsset 是從 assets 資料夾中來取得程式包中的內容,若是要從其它位置來取得字型檔的話,則可以使用 createFromFile:
檢視原始碼 Android
1 2 3 4 5 6 7 8 | import android.graphics.Typeface; import android.widget.TextView; // Bleeding Cowboys.ttf 放在 sdcard 的根目錄下 Typeface font = Typeface.createFromFile("sdcard/Bleeding Cowboys.ttf"); TextView custom = (TextView)findViewById(R.id.customFont); custom.setTypeface(font); |
這樣就算開發者沒有提供字型檔案,只要有提供讀取字型的功能就可以囉!另外要注意的是,字型檔案只要放在 assets 資料夾中就可以了,多一層 fonts 資料夾做好分類而已。但檔名的大小寫是要一致的才行。