0

我想在 Android 中绘制五个矩形条。我有矩形,但现在我希望它们分开一点。

我希望它们在底部对齐,并且它们之间的距离相同。

for (int i= 0; i<4; i++) {
int ce = heigth[i];

Paint rectanglePaint = new Paint(); 
rectanglePaint.setARGB(255, 0, 0, 0); 
rectanglePaint.setStrokeWidth(2);
rectanglePaint.setColor(Color.BLUE);
rectanglePaint.setStyle(Style.STROKE);

Rect rectangle = new Rect(35+10*ce, 150, 10, 10*ce); //in pixels
//rectangle.offset(50, 50);
rectangle.offsetTo(55+10*ce, 150);
//canvas.translate(10, 0); 
canvas.drawRect(rectangle, rectanglePaint);

我尝试过使用 offset、offsetTo、translate,但找不到使用它们的逻辑。我希望他们都从不同的位置开始,就像他们向右移动 35 度倾角并且都是 30 度倾角宽。虽然我在左边添加了 35,但它们仍然来自同一个位置。

4

1 回答 1

4

也许height[i]不改变?

这应该创建四个 10x10 矩形,彼此间隔 35 像素。顺便说一句,您不需要创建四个 Paint 对象。对四个矩形重复使用相同的内容以提高效率。

Paint rectanglePaint = new Paint(); 
rectanglePaint.setARGB(255, 0, 0, 0); 
rectanglePaint.setStrokeWidth(2);
rectanglePaint.setColor(Color.BLUE);
rectanglePaint.setStyle(Style.STROKE);

for (int i= 0; i<4; i++) {
  Rect rectangle = new Rect(35*i, 150, 35*i+10, 160);
  canvas.drawRect(rectangle, rectanglePaint);
}
于 2011-06-06T21:19:25.357 回答