Android 自定義字體方案
在應用中需要配置不同的字體,而 Android 只能在 xml 中配置系統默認提供的四種字體,需要自定義的字體都需要在 Java 代碼中配置.
Android 默認方案
你可以通過ID查找到View,然后挨個為它們設置字體。字體放置于 assets/fonts 文件夾下面.
Typeface customFont = Typeface.createFromAsset(this.getAssets(), "fonts/YourCustomFont.ttf");
TextView view = (TextView) findViewById(R.id.activity_main_header);
view.setTypeface(customFont);
改良
如果每次都這樣加載,界面就會卡頓,所以我提取出來了一個工具類.
示例中涉及到了兩個自定義的字體,用枚舉實現了單例模式,將字體存儲在靜態變量中,避免每次都去 assets 中加載,更改之后頁面就流暢了.
public enum TypefaceUtils {
TYPEFACE;
private static Typeface typeface50;
private static Typeface typeface55;
public void set50Typeface(TextView textView) {
if (typeface50 == null)
typeface50 = Typeface.createFromAsset(textView.getContext().getAssets(), "fonts/HYQiHei-50S.otf");
textView.setTypeface(typeface50);
}
public void set55Typeface(TextView textView) {
if (typeface55 == null)
typeface55 = Typeface.createFromAsset(textView.getContext().getAssets(), "fonts/HYQiHei-55S.otf");
textView.setTypeface(typeface55);
}
}
參考鏈接
來自:http://www.jianshu.com/p/6778d048d8c6
本文由用戶 CharleneEth 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!