Android 关于自定义TextView的测量
发布日期:2021-06-30 22:35:03 浏览次数:3 分类:技术文章

本文共 1512 字,大约阅读时间需要 5 分钟。

1.在自定义的TextView 里如何得到文本控件的宽度

String mText = "测试";int mTextSize = 30;//使用画笔Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); //设置文本大小mPaint.setTextSize(mTextSize); private Rect mTextBound = new Rect();  mPaint.getTextBounds(mText, 0, mText.length(), mTextBound);  //得到文本宽度int mTextWidth = (int) mPaint.measureText(mText);

2.自定义的TextView ,如何测量文本的高度

private int measureHeight(int measureSpec)  {          int mode = MeasureSpec.getMode(measureSpec);          int val = MeasureSpec.getSize(measureSpec);          int height= 0;          switch (mode)   {          case MeasureSpec.EXACTLY:              height= val;              break;          case MeasureSpec.AT_MOST:          case MeasureSpec.UNSPECIFIED:              height= mTextBound.height();              break;          }          height= mode == MeasureSpec.AT_MOST ? Math.min(result, val) : result;          return height+ getPaddingTop() + getPaddingBottom();      }
3.如何测量文本的高度
private int measureWidth(int measureSpec)  {          int mode = MeasureSpec.getMode(measureSpec);          int val = MeasureSpec.getSize(measureSpec);          int width= 0;          switch (mode)  {          case MeasureSpec.EXACTLY:              width= val;              break;          case MeasureSpec.AT_MOST:          case MeasureSpec.UNSPECIFIED:                          width= mTextWidth;              break;          }          width= mode == MeasureSpec.AT_MOST ? Math.min(width, val) : width;          return width + getPaddingLeft() + getPaddingRight();      }

转载地址:https://lovoo.blog.csdn.net/article/details/51224757 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Android 基本属性绘制文本对象FontMetrics介绍
下一篇:Android 简单游戏实现笑脸的移动与人物移动

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月09日 07时12分17秒