最近做通讯录小屏机 联系人姓名显示--长度超过边界字体变小
/** * 自定义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实现文本内容自动调整字体大小所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)