我正在嘗試修改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);
}
你能解釋一下你所說的「彎曲矩形」是什麼意思?你們是不是要畫一個圓角的矩形?或者你想從點到點的某種弧。 – cemulate
我正在尋找一種方法來做一個圓角矩形,現在我想到了它。我最初以爲這會是一樣的,對於混亂感到抱歉。 – Andrew