我正在尝试为我的项目分配不同的字体。 我希望新字体对整个项目有效,但我找到的只是将字体更改为textview
Typeface font1 = Typeface.createFromAsset(getAssets(), "fonts/RockFont.ttf");
TextView customText1 = (TextView)findViewById(R.id.text1);
customText1.setTypeface(font1);
customText1.setTextSize(40.f);
customText1.setText("Hello! This is a custom font...");
有没有办法将整个项目默认为自定义字体? 最好的关注
答案 0 :(得分:0)
不完全符合您的要求,但在上述评论的基础上,可以更方便地使用自定义字体和默认控件。
这显示了如何扩展TextView并使用自定义属性,以便TextView支持自定义字体 Custom fonts and XML layouts (Android)
答案 1 :(得分:0)
我所做的是创建一个支持类,并从我的活动中实例化它,并传递我希望设置的所有视图。
public class textfactory{
private TextView tv;
private Button b;
private RadioButton rb;
private TypeFace font;
/**
* fetch font resource
*/
public textfactory(Context context){
this.font = Typeface.createFromAsset(context.getAssets(), 'customfont.ttf');
}
/**
* pass in all the views you wish to apply font to
*/
public void style(View... views){
for(View v : views){
if(v instance of TextView)
{
tv = (TextView)v;
tv.setTypeface(this.font);
}
else if(v instance of Button)
{
b = (Button)v;
b.setTypeface(this.font);
}
else if(v instance of RadioButton)
{
rb = (RadioButton)v;
rb.setTypeface(this.font);
}
//add as many view conditionals as required
}
}
}