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("\n")
            .append(ellipsizeToWidth(this.subHint)));
    //  第一次测量结果为两行默认字体高度  ,第二次测量为第一行默认高度,第二话一半默认高度
      }

    } else {
      super.setHint(ellipsizeToWidth(this.hint));
    }
  }
复制代码

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



    本文转自 一点点征服   博客园博客,原文链接:http://www.cnblogs.com/ldq2016/p/7149639.html,如需转载请自行联系原作者


相关文章
|
10月前
|
算法 前端开发 JavaScript
图片转ASCII字符图案的原理(可调整亮度对比度 宽高度)
平时看代码会看到很多标点符号的字符拼起来的图案, 特别有趣, 像kong(一个高性能API网关), 除了源代码里面有图案, 命令行也藏了彩蛋. 我今天要玩的会深入一点: 基于图片的灰度值来生成图案. 此时的图片不单单有轮廓, 还有光影效果, 也就是素描中提及的黑白灰.
63 0
|
iOS开发
iOS开发-调整文字之间间距
iOS开发-调整文字之间间距
250 0
|
Android开发 iOS开发
TextView文字自动变小
开发中经常会遇到让TextView字体大小自适应的需求,ios端可以自适应大小,Android不行,我们需要单独处理。 当然了,针对的肯定是单行的TextView,如果是多行的,还需要加入行数这个变量。
|
JavaScript
问题解决:百分比宽度页面缩放会变形
问题解决:百分比宽度页面缩放会变形
170 1
问题解决:百分比宽度页面缩放会变形
|
前端开发 JavaScript
canvas设置像素与画布样式宽高不符的原因及解决办法
canvas设置像素与画布样式宽高不符的原因及解决办法
657 0
|
前端开发 Android开发
【Android 应用开发】Canvas 精准绘制文字 ( 测量文本真实边界 | 将文本中心点与给定中心点对齐 )
【Android 应用开发】Canvas 精准绘制文字 ( 测量文本真实边界 | 将文本中心点与给定中心点对齐 )
180 0
【Android 应用开发】Canvas 精准绘制文字 ( 测量文本真实边界 | 将文本中心点与给定中心点对齐 )
|
前端开发 Android开发
【Android 应用开发】Canvas 绘制文字 ( 文字尺寸测量 | 基线绘制 )
【Android 应用开发】Canvas 绘制文字 ( 文字尺寸测量 | 基线绘制 )
246 0
【Android 应用开发】Canvas 绘制文字 ( 文字尺寸测量 | 基线绘制 )
|
Android开发
安卓控件显示等宽字体的办法
安卓控件显示等宽字体的办法
152 0
|
Web App开发 程序员 容器