//固定宽度的情况下,自适应文本字体大小
public static float adjustTvTextSize(TextView tv, int maxWidth, String text) {
int avaiWidth = maxWidth - tv.getPaddingLeft() - tv.getPaddingRight() - 10;
if (avaiWidth <= 0 || StringUtils.isEmpty(text)) {
return tv.getPaint().getTextSize();
}
TextPaint textPaintClone = new TextPaint(tv.getPaint());
// note that Paint text size works in px not sp
float trySize = textPaintClone.getTextSize();
while (textPaintClone.measureText(text) > avaiWidth) {
trySize--;
textPaintClone.setTextSize(trySize);
}
tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, trySize);
return trySize;
}
android textview宽度固定的情况下字体大小自适应
最新推荐文章于 2022-12-30 17:18:54 发布