最近在做共享单车模块的时候,遇见一个UI上的小需求,如图:
注意字符之间的间距,一开始的直观想法是:四个TextView,瞬间感觉自己作死,一个小小的问题居然要用四个控件,实在是太浪费了,于是去查API,结果如图:
查看说明:
android:letterSpacing
Text letter-spacing.
May be a floating point value, such as "1.2".
Related methods:
setLetterSpacing(float)
意思是说:一个浮点型的值来设置文本间距
然后又去看TextView里面的源码:
/**
* Sets text letter-spacing. The value is in 'EM' units. Typical values
* for slight expansion will be around 0.05. Negative values tighten text.
*
* @see #getLetterSpacing()
* @see Paint#getLetterSpacing
*
* @attr ref android.R.styleable#TextView_letterSpacing
*/
@android.view.RemotableViewMethod
public void setLetterSpacing(float letterSpacing) {
if (letterSpacing != mTextPaint.getLetterSpacing()) {
mTextPaint.setLetterSpacing(letterSpacing);
if (mLayout != null) {
nullLayouts();
requestLayout();
invalidate();
}
}
}
和API解释一样,唯一有用的信息是:负值将会使文本压缩。