textview字符之间的间距(letterspacing)

最近在做共享单车模块的时候,遇见一个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解释一样,唯一有用的信息是:负值将会使文本压缩。

你可能感兴趣的:(Android开发)