根据Android中的给定文本无法对齐可绘制的矩形坐标?

时间:2015-09-21 11:22:21

标签: android android-canvas android-drawable android-bitmap

我想在我给定的text上绘制一个矩形作为透明画布,如下图所示: enter image description here

我使用以下代码绘制透明矩形但无法理解坐标位置。我尝试了很多时间但是没有用。

canvas.drawRect(left,top,right,bottom,paint);

这是我的代码:

Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.FILL);
paint.setTextSize(40);
paint.setShadowLayer(2.0f, 1.0f, 1.0f, Color.BLACK);
paint.setAlpha(255);
rectPaint.setAlpha(100);
canvas.drawText("$250", 20, 400, paint);
canvas.drawBitmap(bitmapImage, 490, 55, null);
canvas.drawRect(0, 100, 300, 400, rectPaint);

drawRect方法中其余坐标的值是什么,以将其与coordinates text的{​​{1}}对齐。现在我正在使用

canvas.drawRect(0, ? , ? , ?, rectPaint);   

1 个答案:

答案 0 :(得分:0)

您可以使用Paint.getTextBounds()方法。

  

getTextBounds(String text,int start,int end,Rect bounds)

     

返回边界(由调用者分配)最小的矩形   包含所有字符,隐含的原点为(0,0)。

这将为您提供所需的Rect,然后您需要使用Rect调用提供的坐标来抵消此drawText