我正在研究Android應用程序,並且對如何在Android上更改默認字體毫無頭緒。我不想根據系統來更改字體。字體必須在整個系統中進行更改。提前致謝。以編程方式更改Android系統字體
0
A
回答
0
,你可以把你的自定義字體在assets/fonts
它NEDS與.ttf擴展 結束,比
Typeface tf = Typeface.createFromAsset(getContext().getAssets(),
"fonts/yourFont.ttf");
setTypeface(tf);
0
創建資產/字體
示例代碼:
number_text = (TextView)findViewById(R.id.hour_progress_number);
number_text.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/roboto-thin.ttf"));
minute_text = (TextView)findViewById(R.id.minute_progress_number);
minute_text.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/roboto-thin.ttf"));
+1
答案是,你不可以做這個。應用程序無權訪問系統的該部分(沒有,如您所說,沒有root訪問權限)。 – kcoppock 2014-09-18 20:54:18
+1
你確定嗎? – 2014-09-19 02:49:22
1
setTypeface()唯一的問題是,如果你想要它的應用程序廣泛,你必須利用它與每個視圖。這或者意味着大量冗餘代碼或者編寫自定義視圖類來設置通貨膨脹字體。或者你可以使用一個輔助類中的這兩個可愛的小方法,通過反射來設置應用程序的字體:
public static void setDefaultFont(Context context, String staticTypefaceFieldName, String fontAssetName) {
final Typeface regular = Typeface.createFromAsset(context.getAssets(), fontAssetName);
replaceFont(staticTypefaceFieldName, regular);
}
protected static void replaceFont(String staticTypefaceFieldName, final Typeface newTypeface) {
try {
final Field staticField = Typeface.class.getDeclaredField(staticTypefaceFieldName);
staticField.setAccessible(true);
staticField.set(null, newTypeface);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
然後設置字體這樣做MyHelperClass.setDefaultFont(this, "DEFAULT", "fonts/FONT_NAME.ttf");
,將設置默認字體爲您的應用程序到您的FONT_NAME.ttf字體文件。
相關問題
- 1. UINavigationBar:以編程方式更改字體
- 2. 如何在android中以編程方式更改系統設置?
- 3. 以編程方式更改系統語言 - Android
- 4. 以編程方式在android中更改字體
- 5. 以編程方式更改主體類
- 6. 以編程方式更改OS X系統卷
- 7. 如何以編程方式更改系統時區
- 8. 以編程方式更改系統亮度
- 9. Windows以編程方式使用Java或CMD更改系統卷
- 10. 以編程方式更改系統網絡(代理)設置
- 11. 如何以編程方式更改Windows系統時間?
- 12. Android:如何以編程方式更新系統包
- 13. 以編程方式更新Android操作系統
- 14. Android:以編程方式更改語言
- 15. Android以編程方式更改drawableRight
- 16. Android imagebutton以編程方式更改?
- 17. 以編程方式更改字體時Libgdx皮膚未更新
- 18. 以編程方式更改默認字體大小(樣式)
- 19. 如何更改遠程系統的系統日期編程方式
- 20. 以編程方式檢查子系統
- 21. Visual Studio C++以編程方式更改控件的字體
- 22. 如何以編程方式更改標籤的字體?
- 23. 以編程方式更改Redux窗體字段值
- 24. 在Excel中以編程方式更改字體顏色
- 25. XtraRichEdit - 以編程方式更改輸入字體顏色
- 26. 如何以編程方式更改TWebBrowser中的字體
- 27. 如何以編程方式更改文本字體大小?
- 28. 如何在RemoteView中以編程方式更改TextView的字體?
- 29. 在simulink中,以編程方式創建變體子系統
- 30. Android - 以編程方式更改字符串本地
您可能正在尋找這:http://stackoverflow.com/questions/2711858/is-it-possible-to-set-a-custom-font-for-entire-of-application – Astyan 2017-03-03 15:38:14