2017-04-03 169 views
1

我想畫一條線,但我不斷收到問題。我想實現這樣的事情:彼此相鄰的兩個矩形不工作(爪哇)

enter image description here

private Paint red = new Paint(); 
private Paint orange = new Paint(); 

red.setColor(Color.parseColor("#FF0000")); 
orange.setColor(Color.parseColor("#FF8C00")); 

canvas.drawRect(0, 400, 300, 0, red); 
canvas.drawRect(300, 400, 300, 0, orange); 

的橙色條剛剛在同一地點坐作爲紅色的,爲什麼?

+1

'drawRect(left,top,right,bottom,paint)'..你的橙色矩形的水平度量爲'0'(從300到300)。也許試着讓你的右邊'600',看看是否把橙色矩形放在你期望的位置。 – trooper

回答

1

你能看到代碼中橙色矩形(300-300)的長度是0嗎?這就是爲什麼你看不到它。所以試試這個:

canvas.drawRect(0, 400, 300, 0, red); 
    canvas.drawRect(300, 400, 600, 0, orange); 
0

再看看文檔:Canvas.drawRect

drawRect(float left, float top, float right, float bottom, Paint paint) 
Draw the specified Rect using the specified paint. 

所以你的最後兩個座標值(rightbottom)不長,但位置。

0

你有400的頂部和0的底部。這很奇怪。你可能想要交換它們。但是,問題在於第一行的左邊界爲0,右邊界爲300,而第二行是一個橙色點,左邊界爲300,右邊界正好在300處。