前言
想要实现主体文字突出显示,前面是数值加粗,后面是单位符号,且底部对齐数值显示的效果;但是不同TextView
字体大小排版后总是有些差别,无法底部对齐。百度一番后有重写TextView
的,还有其它布局对齐等方法,效果并不好使。突然想起之前写的SpannableStringBuilder
,其中AbsoluteSizeSpan
可实现同一个TextView
文字大小变化,而且底部是对齐的,于是就拿来使用。效果如下:
方法
主要是使用底部绝对尺寸AbsoluteSizeSpan
来使TextView
显示内容分割后不同大小显示,且使用ForegroundColorSpan
及StyleSpan
来达到不同颜色及加粗显示,突出主题内容。
private void setBottomAlignment(TextItem item) {
SpannableStringBuilder spanString = new SpannableStringBuilder(item.getValue() + " " + item.getUnit());
//绝对尺寸
AbsoluteSizeSpan absoluteSizeSpan = new AbsoluteSizeSpan(60);
spanString.setSpan(absol