最简单的解决方案,用于将应用程序字体更改为Android中的roboto字体

时间:2015-11-16 17:25:18

标签: android android-layout fonts

如何将应用程序字体更改为Roboto ttf,我看到了更改每个TextView的解决方案,但我想在项目中的一个位置配置字体并更改每个TextView,EditText和Spinner的字体。 提前谢谢。

3 个答案:

答案 0 :(得分:1)

在assets文件夹中创建一个文件夹,将您的字体设为“Assuming Roboto.ttf”

<强>资产/字体/ Roboto.ttf

创建类型面并使用

将其应用于textview
Typeface 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库最简单的方法。它还允许您同时使用不同的字体;