zoukankan      html  css  js  c++  java
  • SpannableString 转换局部字体大小,但在EditText测量之前设置内容,测量高度为,字体变小之前的高度

      public void setHint(@NonNull String hint, @Nullable CharSequence subHint) {
        this.hint = hint;
    
        if (subHint != null) {
          this.subHint = new SpannableString(subHint);
          this.subHint.setSpan(new RelativeSizeSpan(0.5f), 0, subHint.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
        } else {
          this.subHint = null;
        }
    
    
    
        if (this.subHint != null) {
          //如果打开注释,在chathead布局中,每次第一次绘画布局时,输入框高度都会比下次绘制时高,原因可能是
    //      这行转换字符大小的代码在onLayout执行之前字符变小测量的高度为变小之前的高度,显示时造成布局高度增高this.subHint.setSpan(new RelativeSizeSpan(0.5f), 0, subHint.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
          if(isOnLayout){
            super.setHint(new SpannableStringBuilder().append(ellipsizeToWidth(this.hint))
                .append("
    ")
                .append(ellipsizeToWidth(this.subHint)));
        //  第一次测量结果为两行默认字体高度  ,第二次测量为第一行默认高度,第二话一半默认高度
          }
    
        } else {
          super.setHint(ellipsizeToWidth(this.hint));
        }
      }

    SpannableString 转换局部字体大小,但在EditText测量之前设置内容,测量高度为,字体变小之前的高度

  • 相关阅读:
    使用Jmeter测试java请求
    如何高效开发jmeter自定义函数
    使用Fiddler进行抓包
    使用Jmeter导出导入接口自动化案例中的自定义变量
    使用Jmeter录制脚本并调试
    python练习——第3题
    python练习——第2题
    python练习——第1题
    python练习——第0题
    python机器学习——逻辑回归
  • 原文地址:https://www.cnblogs.com/ldq2016/p/7149639.html
Copyright © 2011-2022 走看看