2011-06-06 25 views
0

我想在Android中绘制五个矩形条。我有经纪人,但现在我希望他们有点分开。在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,但他们仍然来自同一个地方。

+0

change Rect rectangle = new Rect(35 + 10 * ce,150,10,10 * ce); Rect rectangle = new Rect(35 + 10 * ce,150,35 + 10 * ce + 10,10 * ce); – xtr 2011-06-07 02:18:17

回答

3

也许height[i]不改变?

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

完美,谢谢! – kakka47 2011-06-08 07:56:27