本文跟大家分享下我关于drawText()文字居中的方法。
先附上drawText()的方法说明
矩形矩形=new矩形(100100500500);//画一个矩形 涂rectPaint=new (); rectPaint.setColor (Color.BLUE); rectPaint.setStyle (Paint.Style.FILL); 画布。绘制矩形(矩形、rectPaint); 涂textPaint=new (); textPaint.setColor (Color.WHITE); textPaint.setTextSize (50); textPaint.setStyle (Paint.Style.FILL);//该方法即为设置基线上那个点究竟是左,中心,还是正确的这里我设置为中心 textPaint.setTextAlign (Paint.Align.CENTER); 油漆。FontMetrics FontMetrics=textPaint.getFontMetrics (); 浮顶=fontMetrics.top;//为基线到字体上边框的距离,即上图中最高的 浮动底=fontMetrics.bottom;//为基线到字体下边框的距离,即上图中的底部 int baseLineY=(int) (rect.centerY() -前/2底/2);//基线中间点的y轴计算公式 canvas.drawText(“你好世界”,rect.centerX (), baseLineY, textPaint); >之前
这里有点要注意textPaint.getFontMetrics()这个方法一定要在设置字体大小或者样式等等一系列会影响字体的方法后在调用,不然获取到的顶部和底部值不准。
效果如下