String str = "hello"; canvas.drawText(str, x, y, mPaint); //1. 粗略計(jì)算文字寬度: float width = mPaint.measureText(str); //2. 計(jì)算文字的矩形,可以得到寬高: Rect rect = new Rect(); mPaint.getTextBounds(str, 0, str.length(), rect); int w = rect.width(); int h = rect.height(); //3. 精確計(jì)算文字的寬度: 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; }
文章來源地址http://www.zghlxwxcb.cn/news/detail-688528.html
文章來源:http://www.zghlxwxcb.cn/news/detail-688528.html
到了這里,關(guān)于Android筆記 自定義控件時(shí)drawText字符串寬度的3種計(jì)算方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!