0


Android笔记 自定义控件时drawText字符串宽度的3种计算方式

String str = "hello";
canvas.drawText(str, x, y, mPaint);

//1. 粗略计算文字宽度:
float width = mPaint.measureText(str);

//2. 计算文字的矩形,可以得到宽高:
Rect rect = new Rect();
mPaint.getTextBounds(str, 0, str.length(), rect);
int w = rect.width();
int h = rect.height();

//3. 精确计算文字的宽度:
public static int  getTextWidth(Paint mPaint, String str)
{
    float iSum = 0;
    if(str != null && !str.equals(""))
     {
           int len = str.length();
           float  widths[] = new float[len];
           paint.getTextWidths(str, widths);
           for(int i = 0; i < len; i++)
           {
                iSum += Math.ceil(widths[i])
           }
     }
     return (int)iSum;
}

本文转载自: https://blog.csdn.net/qq_42120002/article/details/132567640
版权归原作者 只希望动力无限 所有, 如有侵权,请联系我们删除。

“Android笔记 自定义控件时drawText字符串宽度的3种计算方式”的评论:

还没有评论