我在Helvetica Neue.ttf
文件夹中有asset
,如何在我的整个应用程序中设置Helvetica Neue
文字样式。
答案 0 :(得分:0)
目前无法使用Android SDK附带的视图执行此操作。您可以将视图设置为按照this answer使用任何Roboto字体,但不能设置自定义字体。
我通常解决这个问题的方法是创建我自己的使用我的字体的TextView,如下所示:
public class MyFontTextView extends TextView {
public static final String FONT_PATH = "fonts/MyFont.ttf";
public MyFontTextView(Context context) {
super(context);
initFont();
}
public MyFontTextView(Context context, AttributeSet attrs) {
super(context, attrs);
initFont();
}
public MyFontTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
initFont();
}
/**
* Set up the font.
*/
private void initFont() {
if (!isInEditMode()) {
Typeface font = Typeface.createFromAsset(getContext().getAssets(), FONT_PATH);
setTypeface(font);
}
}
}
使用此TextView替换所有TextView,然后您将拥有自己的字体。请注意,除非您也自定义这些元素,否则其他UI元素(例如按钮)仍会使用Roboto。
如果您有一个只在应用程序中使用过一次的视图,则可以在该视图上调用setTypeFace()
,而不是创建自定义视图。自定义View方法适用于在TextViews等应用程序中大量使用的视图。