我正在尝试在Android资料设计中使用TextInput Layout for Floating Labels,我使用app:errorTextAppearance标志显示错误。对于此错误文本外观,我无法应用自定义字体。
我可以更改颜色和其他内容,但无法应用自定义字体。
我正在尝试匹配字体样式"请选择问题"用"请输入答案" P.S"请选择问题"是一个纯文本视图,我能够轻松地更改字体。
我无法发布图片但链接下方有图片。
请你帮我解决这个问题。
答案 0 :(得分:0)
如上所述here:
您可以使用SpannableString设置字体:
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);
}
}