在Android中绘制椭圆形工作,但绘制矩形不起作用

时间:2014-05-15 20:05:16

标签: java android android-canvas android-custom-view

我尝试使用RectFdrawOval(),然后又尝试drawRect()。椭圆形显示,但矩形不显示。

//onDraw
RectF rectF = new RectF(300, 300, 100, 100);
canvas.drawRect(rectF, paint); //doesn't display
canvas.drawOval(rectF, paint); //displays

简单的问题,但我不知道为什么它不想绘制这个形状。我唯一的想法是,到目前为止还没有工作的是drawRect不喜欢终点是"之前" 起点。

编辑:如果我切换数字是有效的,但我需要它能够接受任何数字,因为在我的实际应用中,数字是从用户的触摸点动态输入的。

//onDraw
RectF rectF = new RectF(100, 100, 300, 300); //switched the coordinates
canvas.drawRect(rectF, paint); //displays
canvas.drawOval(rectF, paint); //displays

1 个答案:

答案 0 :(得分:1)

我认为你需要处理这些点,以便它们符合RectF。

来自http://developer.android.com/reference/android/graphics/RectF.html

Note: most methods do not check to see that the coordinates are sorted correctly (i.e. left <= right and top <= bottom).