最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Android 自定义TextView实现文本内容自动调整字体大小
时间:2022-06-25 23:24:06 编辑:袖梨 来源:一聚教程网
| 代码如下 | 复制代码 |
/** * 自定义TextView,文本内容自动调整字体大小以适应TextView的大小 * @author yzp */ publicclassAutoFitTextViewextendsTextView { privatePaint mTextPaint; privatefloatmTextSize; publicAutoFitTextView(Context context) { super(context); } publicAutoFitTextView(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 */ privatevoidrefitText(String text,inttextViewWidth) { if(text ==null|| textViewWidth <=0) return; mTextPaint =newPaint(); mTextPaint.set(this.getPaint()); intavailableTextViewWidth = getWidth() - getPaddingLeft() - getPaddingRight(); float[] charsWidthArr =newfloat[text.length()]; Rect boundsRect =newRect(); mTextPaint.getTextBounds(text,0, text.length(), boundsRect); inttextWidth = 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 protectedvoidonDraw(Canvas canvas) { super.onDraw(canvas); refitText(this.getText().toString(),this.getWidth()); } } | |
相关文章
- 俄罗斯搜索引擎官方主站直达-俄罗斯搜索引擎移动端免登入口 03-15
- 茄子漫画极速下载-茄子漫画v5.2.44免费畅读 03-15
- msn中文网首页快速入口-msn官网首页一键直达 03-15
- WhatsApp网页版登录-WhatsApp网页版在线体验 03-15
- ao3网页版快捷登录-AO3网页版一键登录入口 03-15
- 漫蛙manwa防走失官网asia-漫蛙manwa2防走失入口 03-15