Android-如何在我的整个应用程序中添加文本样式
我有Android-如何在我的整个应用程序中添加文本样式,android,typeface,Android,Typeface,我有Helvetica Neue.ttf在asset文件夹中,如何在我的整个应用程序上设置Helvetica Neue文本样式。目前无法使用安卓SDK附带的视图来实现这一点。您可以根据设置视图以使用任何Roboto字体,但不能设置自定义字体 我通常解决这个问题的方法是创建自己的文本视图,使用我的字体,如下所示: public class MyFontTextView extends TextView { public static final String FONT_PATH = "fo
Helvetica Neue.ttf
在asset
文件夹中,如何在我的整个应用程序上设置Helvetica Neue
文本样式。目前无法使用安卓SDK附带的视图来实现这一点。您可以根据设置视图以使用任何Roboto字体,但不能设置自定义字体
我通常解决这个问题的方法是创建自己的文本视图,使用我的字体,如下所示:
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);
}
}
}
将所有文本视图替换为此文本视图,然后您将拥有自己的字体。请注意,其他UI元素(例如按钮)仍将使用Roboto,除非您也自定义这些元素
如果您有一个在应用程序中只使用一次的视图,则可以在该视图上调用
setTypeFace()
,而不是创建自定义视图。自定义视图方法适用于在应用程序(如TextView)中经常使用的视图。您必须对TextView进行子类化,并在子类的构造函数中设置字体。。。然后在任何地方使用此子类,而不是TextView