如何根据实际文本宽度自动调整文字大小?

2026-04-16 15:592阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计95个文字,预计阅读时间需要1分钟。

如何根据实际文本宽度自动调整文字大小?

javaprivate void adjustTvTextSize(TextView tv, int maxWidth, String text) { int avaiWidth=maxWidth - tv.getPaddingLeft() - tv.getPaddingRight() - 10; if (avaiWidth==0 || StringUtils.isEmpty(text)) { return; }}

如何根据实际文本宽度自动调整文字大小?

gistfile1.txt

private 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; }

本文共计95个文字,预计阅读时间需要1分钟。

如何根据实际文本宽度自动调整文字大小?

javaprivate void adjustTvTextSize(TextView tv, int maxWidth, String text) { int avaiWidth=maxWidth - tv.getPaddingLeft() - tv.getPaddingRight() - 10; if (avaiWidth==0 || StringUtils.isEmpty(text)) { return; }}

如何根据实际文本宽度自动调整文字大小?

gistfile1.txt

private 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; }