我想将一些字体说Times New Roman仅应用于我的应用程序。 不是整个系统而不是特定视图。据我所知
将字体应用于特定视图我们将字体文件存储在资产文件夹中,并按如下方式进入应用程序。
1] Typeface mFace = Typeface.createFromAsset(getContext().getAssets(),
"fonts/samplefont.ttf");
textView.setTypeface(mFace);
2] To apply font to whole application I can replace the DroidSans.ttf file with my font file.
我可以使用第一种方式将字体应用到我的应用程序,但它不是一个好的解决方案,因为我需要在任何地方进行修改,如果有更好的方法,我不想这样做。
答案 0 :(得分:2)
我创建了一个自定义textview小部件,并在构造函数中调用了这段代码:
public static void SetCustomFont (TextView t, String fontName, Context c) {
Typeface tf = Typeface.createFromAsset(c.getAssets(),
fontName);
t.setTypeface(tf);
}
我在整个应用程序中使用相同的字体,所以我将fontName放在constuctor中,然后对TextView进行全局查找/替换
答案 1 :(得分:0)
Android不支持在整个应用程序中应用字体(请参阅此问题)。您有4个选项可以为整个应用设置字体:
可以找到这些选项的详细信息here。
答案 2 :(得分:-1)
选中define fonts styles。此外,您可以在应用级别的清单文件中引用此样式
<application
android:theme="@style/Theme1">