/** * 获取给定文本的宽度 * @param text 要计算的文本 * @param textSize 文本大小 * @return 给定文本的宽度 */ public static float getTextWidth(String text, float textSize){ Paint paint = new Paint(); paint.setTextSize(textSize); return paint.measureText(text); } /** * 获取当给定的文本使用给定的画笔绘制时的宽度 * @param paint 指定的画笔 * @param text 指定的文本 * @return 当给定的文本使用给定的画笔绘制时的宽度 */ public static float getTextWidth(Paint paint, String text) { return paint.measureText(text); } /** * 获取给定尺寸的文本的高度 * @param textSize 给定尺寸 * @return 文本的高度 */ public static float getTextHeight(float textSize){ Paint paint = new Paint(); paint.setTextSize(textSize); FontMetrics fm = paint.getFontMetrics(); return fm.descent - fm.ascent; } /** * 获取给定画笔的文本高度 * @param paint 给定的画笔 * @return 文本的高度 */ public static float getTextHeight(Paint paint){ FontMetrics fm = paint.getFontMetrics(); return fm.descent - fm.ascent; } /** * 获取给定文本的宽度 * @param text 要计算的文本 * @param textSize 文本大小 * @return 文本的宽度 */ public static int getTextWidthByBounds(String text, float textSize){ Paint paint = new Paint(); Rect bounds = new Rect(); paint.setTextSize(textSize); paint.getTextBounds(text, 0, text.length(), bounds); return bounds.width(); } /** * 获取给定文本的高度 * @param text 要计算的文本 * @param textSize 文本大小 * @return 文本的高度 */ public static int getTextHeightByBounds(String text, float textSize){ Paint paint = new Paint(); Rect bounds = new Rect(); paint.setTextSize(textSize); paint.getTextBounds(text, 0, text.length(), bounds); return bounds.height(); } /** * 获取指定画笔的文字离顶部的基准距离 * @return 返回指定笔离文字顶部的基准距离 */ public static float getTextLeading(Paint paint) { FontMetrics fm = paint.getFontMetrics(); return fm.leading- fm.ascent; }
获取文本宽度和高度
最新推荐文章于 2023-08-24 17:19:11 发布