您好,我对此有一个解决方案,您可以尝试以这种方式使用字体...我已经在我的项目中实现了这个...
脚步:
- 制作一个包 (com.fontUtils.fonts)
- 使字体文件类似于 TextView
EditText
或 Button Text
例如 :
public class ButtonHelveticaBold extends Button {
Context ButtonFontContext;
public ButtonHelveticaBold(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
ButtonFontContext = context;
}
public ButtonHelveticaBold(Context context, AttributeSet attrs) {
super(context, attrs);
ButtonFontContext = context;
}
public ButtonHelveticaBold(Context context) {
super(context);
ButtonFontContext = context;
}
@Override
public void setTypeface(Typeface tf, int style) {
Typeface typeFaceHelvetica;
if (style == Typeface.BOLD) {
typeFaceHelvetica = Typeface.createFromAsset(getContext().getAssets(), "fonts/helvetica_bold_neue.ttf");
} else {
typeFaceHelvetica = Typeface.createFromAsset(getContext().getAssets(), "fonts/helvetica_neue_regular.ttf");
}
super.setTypeface(typeFaceHelvetica);
}
}
3:在 XML 中使用它像这样:
<com.fontUtils.fonts.ButtonHelveticaBold
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>