/** * 自定义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);}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);refitText(this.getText().toString(), this.getWidth());}}


更多相关文章

  1. TextToSpeech 文本自动朗读
  2. Android(安卓)JSON数据与实体类之间的相互转化-------GSON实现
  3. android奇怪问题收集
  4. Android(安卓)实时视频采集—Cameara预览采集
  5. Android下Xml解析技术(四)、pull生成Xml文件
  6. android 【MeasureSpec】 introduction
  7. Android通过Movie展示Gif格式图片
  8. Android(安卓)实现生成二维码
  9. Android之WebView与原生js之间的相互调用

随机推荐

  1. Android(安卓)animation summary
  2. android: 后台执行的定时任务
  3. Android实现本地手机数据库存储数据最简
  4. Android(安卓)Project : FXiami 虾米音乐
  5. Android(安卓)ListView 去除边缘阴影、选
  6. android 导入、创建文件到sdcard报错:Fail
  7. 第四章 Android开发三大基石—Activity、
  8. 如何避免Android内存泄漏 .
  9. 都在说EventBus,我也来一波EventBus
  10. Android学习心得——序言