如何在android中的特定位置绘制矩形

Abh*_*ary 1 java android android-canvas

我正在尝试在矩形内绘制矩形。我希望孩子在父矩形的下侧绘制,但发生了相反的情况。实际上我发现,在canvas.drawRect内部没有特定的位置来决定在哪里绘制。可能是因为 android 中的新功能我错过了一些东西。这是我正在使用的 api-

canvas.drawRect(x+(x/3)+rM.x(), y/9, w-rM.width(), h/5, paint);
Run Code Online (Sandbox Code Playgroud)

按照获取和预期的屏幕截图

在此输入图像描述

以下是我得到的坐标 -

For bigger rectangle - 
x      - 234
y      - 89
width  - 593
height - 627


For smaller Rectangle
rm.x      - 39
rm.y      - 8
rm.width  - 49
rm.height - 30
Run Code Online (Sandbox Code Playgroud)

我用了这个公式——

canvas.drawRect(x+(x/3)+rM.x(), y/9, w-rM.width(), h/5, paint);
Run Code Online (Sandbox Code Playgroud)
  • {x,y,w,h>} 属于第一组数据
  • rm.{x,y,w,h} 属于第二组数据

Aka*_*hav 6

对于未来的观众——

您可以创建矩形对象,然后将其传递给drawRect()方法。例子 -

Rect rect = new Rect();
rect.left = x;
rect.top = y;
rect.right = x + width;
rect.bottom = y + height;

canvas.drawRect(rect, paint);
Run Code Online (Sandbox Code Playgroud)