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