【问题标题】:Custom font for error message of TextInputLayout in androidandroid中TextInputLayout错误消息的自定义字体
【发布时间】:2017-01-06 03:09:34
【问题描述】:

我正在尝试将 TextInput 布局用于 android 材料设计中可用的浮动标签,其中我使用 app:errorTextAppearance 标志显示错误。对于这个 errorTextAppearance 我无法应用自定义字体。

我可以更改颜色和其他内容,但无法应用自定义字体。

我正在尝试将“请选择问题”的字体样式与“请输入答案”匹配 P.S“请选择问题”是纯文本视图,我可以轻松更改字体。

我无法发布图片,但下面的链接有。

Input Text Layout

你能帮我解决这个问题吗?

【问题讨论】:

    标签: android material-design


    【解决方案1】:

    如上所述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);
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2018-03-18
      • 1970-01-01
      • 1970-01-01
      • 2018-08-12
      • 2014-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多