android中TextInputLayout错误消息的自定义字体
我试图利用android material design中可用的浮动标签的TextInput布局,其中我使用app:errorTextAppearance标志显示错误。对于此错误文本外观,我无法应用自定义字体 我可以改变颜色和其他东西,但不能应用自定义字体 我正在尝试将“请选择问题”的字体样式与“请输入答案”匹配 “请选择问题”是一个纯文本视图,我可以很容易地更改字体 我不能张贴图片,但下面的链接有它 您能帮我解决这个问题吗。如前所述: 您可以使用SpannableString设置字体:android中TextInputLayout错误消息的自定义字体,android,material-design,Android,Material Design,我试图利用android material design中可用的浮动标签的TextInput布局,其中我使用app:errorTextAppearance标志显示错误。对于此错误文本外观,我无法应用自定义字体 我可以改变颜色和其他东西,但不能应用自定义字体 我正在尝试将“请选择问题”的字体样式与“请输入答案”匹配 “请选择问题”是一个纯文本视图,我可以很容易地更改字体 我不能张贴图片,但下面的链接有它 您能帮我解决这个问题吗。如前所述: 您可以使用SpannableString设置字体: Sp
SpannableString s = new SpannableString(errorString);
s.setSpan(new TypefaceSpan(font), 0, s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mPasswordView.setError(s);
具有特定字体集的自定义Span类:
public class TypefaceSpan extends MetricAffectingSpan {
private Typeface mTypeface;
public TypefaceSpan(Typeface typeface) {
mTypeface = typeface;
}
@Override
public void updateMeasureState(TextPaint p) {
p.setTypeface(mTypeface);
p.setFlags(p.getFlags() | Paint.SUBPIXEL_TEXT_FLAG);
}
@Override
public void updateDrawState(TextPaint tp) {
tp.setTypeface(mTypeface);
tp.setFlags(tp.getFlags() | Paint.SUBPIXEL_TEXT_FLAG);
}
}