在Android中设置自定义字体样式的正确方法

时间:2017-01-01 11:55:47

标签: android fonts typeface android-typeface

我下载了一个包含在我的Android项目中的字体。

现在,我是否还需要包含"粗体"和"斜体"我的资产的字体版本或我只需要常规的?如果我这样做,我是否需要手动setTypeface(getBoldFont(), Typeface.BOLD)进行粗体(和斜体)或Android是否自动为我完成?

1 个答案:

答案 0 :(得分:3)

下载以下4种字体:normal,bold,italic,bold_italic。然后创建一个CustomFont类,如下所示:

public class CustomFont {
    Context context;
    public CustomFont(Context context) {
        this.context = context;
    }

    public Typeface setNormalFont() {
        Typeface typeface = Typeface.createFromAsset(context.getAssets(),"fonts/normal.ttf");
        return  typeface;
    }

    public Typeface setBoldFont () {
        Typeface typeface = Typeface.createFromAsset(context.getAssets(), "fonts/bold.ttf");
        return typeface;
    }

    public Typeface setItalick() {
        Typeface typeface = Typeface.createFromAsset(context.getAssets(), "fonts/italic.ttf");
        return typeface;
    }

    public Typeface setItalickBold() {
        Typeface typeface = Typeface.createFromAsset(context.getAssets(), "fonts/italic_bold.ttf");
        return typeface;
    }
}

然后,当您想在任何视图上设置字体时,可以使用以下代码来使用所需的字体:

CustomFont customFont = new CustomFont(this);
textView.setTypeFace(customFont.setNormalFont());