通过编程在Android设备上安装字体

时间:2013-06-05 04:04:30

标签: android android-fonts


我想在我的Android设备上添加一些字体。我知道必须根植于安装字体。但是像galaxies(我的是Galaxy S II)这样的设备支持字体而不是root。我的意思是在非root设备上添加字体的方式是什么(如果支持)? 它只是在字体文件夹中复制该字体或什么?
先感谢您!

我不想在应用程序中使用字体,只需更改文本视图的类型或其他内容。我想改变我的android系统的字体。例如,设置菜单的字体和该设备的其他位置。

2 个答案:

答案 0 :(得分:1)

你可以, 你不能将字体定义为 xml 布局。您需要每次动态使用它。例如,请检查this tutorial

如果链接已经死亡,以下是这些内容的总结:

获取 times.ttf

等字体文件

将它放在资源文件夹中的“fonts”文件夹中 ,获取TextView(Ui元素)的参考资料:

TextView tv = (TextView) findViewById(R.id.myCustomTVFont);

从资产文件夹中抓取字体:

Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/times.ttf");

让TextView看起来很棒:

tv.setTypeface(tf);

答案 1 :(得分:0)

如果您不想每次都设置字体。您可以创建自定义TextView

public class CustomFontTypeTextView extends TextView {


    public CustomFontTypeTextView(Context context) {
        super(context);
        init(context);
    }


    public CustomFontTypeTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init(context);
    }

    private void init(Context context) {
        if (!isInEditMode()) {
            Typeface font = Typeface.createFromAsset(context.getAssets(), "Your TypeFce");
            setTypeface(font);
        }
    }
}