在Android中绘制它们之间有空格的矩形

时间:2011-06-06 21:05:31

标签: android canvas ondraw

我想在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,但它们仍然来自同一个地方。

1 个答案:

答案 0 :(得分:4)

也许height[i]不会改变?

这应该创建四个10x10矩形,彼此分开35 px。顺便说一句,您不需要创建四个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);
}