Android(安卓)drawText获取text宽度的三种方式
16lz
2021-01-25
String str = "Hello";canvas.drawText( str , x , y , paint);//1. 粗略计算文字宽度Log.d(TAG, "measureText=" + paint.measureText(str));//2. 计算文字所在矩形,可以得到宽高Rect rect = new Rect();paint.getTextBounds(str, 0, str.length(), rect);int w = rect.width();int h = rect.height();Log.d(TAG, "w=" +w+" h="+h);//3. 精确计算文字宽度int textWidth = getTextWidth(paint, str);Log.d(TAG, "textWidth=" + textWidth); public static int getTextWidth(Paint paint, String str) { int iRet = 0; if (str != null && str.length() > 0) { int len = str.length(); float[] widths = new float[len]; paint.getTextWidths(str, widths); for (int j = 0; j < len; j++) { iRet += (int) Math.ceil(widths[j]); } } return iRet; }
转自:http://blog.csdn.net/chuekup/article/details/7518239
更多相关文章
- 依赖v7包和编译版本不一致问题####Error:(4) Error retrieving p
- android textview 显示表情和文字 表情带超链接
- Android(安卓)实现轮播图效果(二) 底部圆点布局实现
- Android(安卓)SlidingMenu侧滑菜单使用介绍
- Android使用StaticLayout实现文本绘制自动换行
- android获取屏幕的尺寸,宽度和高度
- Android(安卓)更改键盘Enter键文字
- android 游戏开发过程中让图片自适应
- Android之dialog实现底部出现对话框