这篇文章给大家介绍怎么在Android中利用TextView调整文本内容的字体大小,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
专注于为中小企业提供网站设计制作、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业蓟州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
具体方法如下:
/** * 自定义TextView,文本内容自动调整字体大小以适应TextView的大小 * @author yzp */ public class AutoFitTextView extends TextView { private Paint mTextPaint; private float mTextSize; public AutoFitTextView(Context context) { super(context); } public AutoFitTextView(Context context, AttributeSet attrs) { super(context, attrs); } /** * Re size the font so the specified text fits in the text box assuming the * text box is the specified width. * * @param text * @param textWidth */ private void refitText(String text, int textViewWidth) { if (text == null || textViewWidth <= 0) return; mTextPaint = new Paint(); mTextPaint.set(this.getPaint()); int availableTextViewWidth = getWidth() - getPaddingLeft() - getPaddingRight(); float[] charsWidthArr = new float[text.length()]; Rect boundsRect = new Rect(); mTextPaint.getTextBounds(text, 0, text.length(), boundsRect); int textWidth = boundsRect.width(); mTextSize = getTextSize(); while (textWidth > availableTextViewWidth) { mTextSize -= 1; mTextPaint.setTextSize(mTextSize); textWidth = mTextPaint.getTextWidths(text, charsWidthArr); } this.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); refitText(this.getText().toString(), this.getWidth()); } }
关于怎么在Android中利用TextView调整文本内容的字体大小就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。