我想在我的Android设备上添加一些字体。我知道必须根植于安装字体。但是像galaxies(我的是Galaxy S II)这样的设备支持字体而不是root。我的意思是在非root设备上添加字体的方式是什么(如果支持)?
它只是在字体文件夹中复制该字体或什么?
先感谢您!
我不想在应用程序中使用字体,只需更改文本视图的类型或其他内容。我想改变我的android系统的字体。例如,设置菜单的字体和该设备的其他位置。
答案 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);
}
}
}