我尝试使用RectF
到drawOval()
,然后又尝试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
答案 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).