为整个应用设置默认字体

时间:2014-01-20 09:22:02

标签: android fonts

在我的应用程序中,我没有为我的应用程序中的textview设置字体属性,用于更改textview的字体。如果有人在手机上运行应用程序,使用的默认字体是为手机设置的字体。我想要我的应用程序我的应用程序中只有一种字体用于所有textview,即使它在具有不同默认字体的手机上运行。我的默认字体在任何手机上应该是相同的。我不想使用自定义Textview。有没有办法做到这一点?< / p>

2 个答案:

答案 0 :(得分:3)

我希望不要迟到。

使用此库: Calligraphy

您需要做的是

1)在你的onCreate()方法中添加它,并在项目的assets / fonts文件夹中选择你的字体。

CalligraphyConfig.initDefault("fonts/Roboto-Regular.ttf", R.attr.fontPath);

2)包装活动背景。

@Override
protected void attachBaseContext(Context newBase) {
    super.attachBaseContext(new CalligraphyContextWrapper(newBase));
}

为每项活动都这样做!就是这样。 :)

答案 1 :(得分:0)

对于您在项目中声明的所有文本视图,您需要使用findViewById在java代码中获取id,并且您需要为每个textview设置字体,如下所示

font = Typeface.create("serif", Typeface.NORMAL);
myTextView = (TextView) findViewById(R.id.myTextView);
myTextView.setTypeface(font,Typeface.BOLD);

您需要以上述方式为项目中的所有textview设置字体