在Android Canvas上的字符串周围安装一个矩形

| 因此,我使用Canvas.drawText在Canvas上绘制一些字符串。问题是我想在它之前绘制一个矩形,以便文本显示在矩形的中心。但是我遇到了一个真正的问题。提供给drawText的x和y坐标实际上不在真实文本的“左上角”,而是在字符开始的行上。有一个Paint.getTextBounds方法,该方法在要绘制的文本的(0,0)处返回一个矩形“带有隐含的原点”。问题在于原点位于(0,0)。该框的宽度和高度是正确的,但是我不知道如何将其左上角放置在画布上绘制的字符串的左上角。我想我应该使用FontMetrics,但是由于FontMetrics返回的许多值都没有记录,所以我不确定如何将它们用于我的目的。     
已邀请:
        我最终做了
FontMetrics fm = new FontMetrics();
paint.setTextAlign(Paint.Align.CENTER);
paint.getFontMetrics(fm);
canvas.drawText(text, x, y + -(fm.ascent + fm.descent) / 2, paint);
实际绘制以x,y为中心的文本。在此之前,我绘制了一个以x,y为中心的矩形,其宽度为paint.measureText(text)     
        尝试使用绘制矩形
canvas.drawRect(x, y - Paint.GetTextSize(), x + Paint.measureText(\"text\"), y, Paint);
    

要回复问题请先登录注册