黑马程序员技术交流社区
标题:
【求助大神】如何利用canvas画圆弧顶点的小球
[打印本页]
作者:
路好营
时间:
2016-11-16 15:33
标题:
【求助大神】如何利用canvas画圆弧顶点的小球
QQ图片20161116152504.png
(16.05 KB, 下载次数: 12)
下载附件
2016-11-16 15:27 上传
如上图所示,小球也需要随着圆弧的增长而不停地变化位置,保证一直处在圆弧顶点,,圆弧运动轨迹我已经画出来了,部分代码如下:
protected void
onDraw
(Canvas canvas) {
super
.onDraw(canvas)
;
int
mWidth = getMeasuredWidth()
;
int
mHeight = getMeasuredHeight()
;
float
section =
progressValue
/
100
;
//progressValue
是传进来的值
,
由定时器不停地发送过来
mPaint
.setAntiAlias(
true
)
;
//
消除锯齿
mPaint
.setStrokeWidth((
float
)
8
)
;
mPaint
.setStyle(Style.
STROKE
)
;
mPaint
.setStrokeCap(Cap.
ROUND
)
;
rect
.set(
20
,
20
,
mWidth -
20
,
mHeight -
20
)
;
mPaint
.setColor(Color.
BLACK
)
;
int
count =
mColors
.
length
;
int
[] colors =
new int
[count]
;
System.
arraycopy
(
mColors
,
0
,
colors
,
0
,
count)
;
LinearGradient shader =
new
LinearGradient(
3
,
3
,
mWidth -
3
,
mHeight -
3
,
colors
, null,
Shader.TileMode.
CLAMP
)
;
mPaint
.setShader(shader)
;
//
画弧,第一个参数是
RectF,
第二个参数是角度的开始,第三个参数是多少度,第四个参数是真的时候画扇形,是假的时候画弧线
canvas.drawArc(
rect
,
90
,
section *
360
, false,
mPaint
)
;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2