2017-04-03 4 views
1

私は線を描こうとしていますが、問題は継続しています。隣の2つの長方形が隣り合っていません(Java)

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の右境界を持ち、2行目は300の左境界と300の右境界があるオレンジ点です。

関連する問題