等间距的TextView

2020-12-23  本文已影响0人  Vitaming

文本总宽度 = 字体实际宽度 * 字数

字体实际宽度 = 字体初始宽度(letterWidth) + getTextSize() * 字体间距


//计算单个textview文本实际宽度

final float letterWidth = tv.getPaint().measureText("a", 0, 1) + 1;

//textview总宽度

float length = DissplayUtils.dp2px(this, 300f);

//设置的setLetterSpacing值

float space = (length / tv.length() - letterWidth) / tv.getTextSize();

//保留两位小数

BigDecimal bigDecimal = new BigDecimal(space);

float newspace = bigDecimal.setScale(2, BigDecimal.ROUND_DOWN).floatValue();

tv.setLetterSpacing(newspace);

上一篇下一篇

猜你喜欢

热点阅读