如何将应用程序字体更改为Roboto ttf,我看到了更改每个TextView的解决方案,但我想在项目中的一个位置配置字体并更改每个TextView,EditText和Spinner的字体。 提前谢谢。
答案 0 :(得分:1)
在assets文件夹中创建一个文件夹,将您的字体设为“Assuming Roboto.ttf”
<强>资产/字体/ Roboto.ttf
创建类型面并使用
将其应用于textviewTypeface font=Typeface.createFromAsset(getAssets(),
"fonts/Roboto.ttf");
List<TextView> list = new ArrayList<>();
Collections.addAll(list,textView_1,textView_2,textView_3);
for(int i=0;i<list.size();i++){
list.get(i).setTypeface(font);
}
您也可以将此库用于 ROBOTO 字体
dependencies {
compile 'com.elmargomez.typer:typerlib:1.0.0'
}
然后:
for(int i=0;i<list.size();i++){
list.get(i).setTypeface(Typer.set(yourContext).getFont(Font.ROBOTO_REGULAR));
}
答案 1 :(得分:1)
您可以扩展TextView
,对其进行自定义,然后在整个应用中使用CustomTextView
。
public class CustomTextView extends TextView {
public CustomTextView(Context context) {
super(context);
applyCustomFont(context);
}
public CustomTextView(Context context, AttributeSet attrs) {
super(context, attrs);
applyCustomFont(context);
}
public CustomTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
applyCustomFont(context);
}
private void applyCustomFont(Context context) {
Typeface customFont = Typeface.createFromAsset(context.getAssets(), "roboto-bold.ttf");
setTypeface(customFont);
}
}
有关详细信息,请参阅this链接。
答案 2 :(得分:0)
我找到了this库最简单的方法。它还允许您同时使用不同的字体;