Android 自定义TextView实现文本内容自动调整字体大小

Android 自定义TextView实现文本内容自动调整字体大小,第1张

概述最近做通讯录小屏机联系人姓名显示--长度超过边界字体变小/***自定义TextView,文本内容自动调整字体大小以适应TextView的大小

最近做通讯录小屏机 联系人姓名显示--长度超过边界字体变小

/**  * 自定义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,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实现文本内容自动调整字体大小全部内容,希望文章能够帮你解决Android 自定义TextView实现文本内容自动调整字体大小所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1146605.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存