天天看點

android畫布畫弧形,在Android畫布上繪制直角矩形/弧形

我正在嘗試修改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

我正在尋找一種方法來做一個圓角矩形,現在我想到了它。我最初以為這會是一樣的,對于混亂感到抱歉。 –