我正在嘗試修改android裝置的操縱杆元件。目前,該元件能夠跟蹤手指的x和y位置并在那裡畫一個小圓圈。現在我想要做的是從中心向手指的x和y位置繪制一個矩形或弧線。在Android畫布上繪制直角矩形/弧形
據我所知,該矩形隻需要頂部,左側,右側和底部的值,隻允許我繪制矩形水準或垂直。如果有人知道另一種方式來繪制這将是太棒了。
我設法得到了一個使用canvas.drawLine的直線矩形,但是我現在想要使用drawArc函數使矩形彎曲,但是這需要RectF的參數。
我,我現在使用的代碼是:
@Override
protected void onDraw(Canvas canvas) {
int centerX = (getWidth())/2;
int centerY = (getHeight())/2;
Paint p = new Paint();
p.setColor(buttonColor);
RadialGradient gradient = new RadialGradient(centerX, centerY, joystickRadius,
backgroundColor,circleColor, android.graphics.Shader.TileMode.CLAMP);
//draw an outer circle
p.setDither(true);
p.setShader(gradient);
canvas.drawCircle((int) centerX, (int) centerY, joystickRadius, p);
p.setShader(null);
p.setColor(buttonColor);
p.setStyle(Paint.Style.FILL);
//draw the joystick thumbpad
canvas.drawCircle(x, y, buttonRadius, p);
// draw a line from the centre of outer circle to the center of the
// thumbpad. I want this to be a curved rectangle instead.
canvas.drawLine(centerX, centerY, x, y, p);
}
2012-06-06
Andrew
+0
你能解釋一下你所說的“彎曲矩形”是什麼意思?你們是不是要畫一個圓角的矩形?或者你想從點到點的某種弧。 –
+0
我正在尋找一種方法來做一個圓角矩形,現在我想到了它。我最初以為這會是一樣的,對于混亂感到抱歉。 –