canvas.drawArc(rectF, 0, (currentTimeMillis - startTimeMillis ) * 360 / 10000 , false, paint);第一个参数是矩形,第二个参数是开始角度;第三个参数是结束角度.currentTimeMillis 得到系统的当前时间,startTimeMillis 方法开始执行的时间后面就不说了,疑问不在这里,现在想按照规定的时间来画圆环,看代码中的第三个参数不太理解(currentTimeMillis - startTimeMillis ) * 360 / 8000 这里实现了 8秒画出一个圆环,有人能解释一下是怎么算出来的吗.......为什么8秒,如果这个参数是角度的话,那么,按照这个参数的算法也想不通呀.....哪位大神解答一下吗??public class MyView extends View {private long startTimeMillis;public MyView2(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);startTimeMillis = System.currentTimeMillis();}public MyView2(Context context, AttributeSet attrs) {super(context, attrs);startTimeMillis = System.currentTimeMillis();}public MyView2(Context context) {super(context);startTimeMillis = System.currentTimeMillis();}@Overrideprotected void onDraw(Canvas canvas) {// TODO Auto-generated method stubsuper.onDraw(canvas);Paint paint = new Paint();paint.setStyle(Style.STROKE);paint.setColor(Color.BLUE);paint.setAntiAlias(true);RectF rectF = new RectF();rectF.set(300, 300, 600, 600);long currentTimeMillis = System.currentTimeMillis();canvas.drawArc(rectF, 0, (currentTimeMillis - startTimeMillis ) * 360 / 8000 , false, paint);invalidate();}}
1 回答
![?](http://img1.sycdn.imooc.com/5333a2320001acdd02000200-100-100.jpg)
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
(currentTimeMillis - startTimeMillis ) * 360 / 8000
= (currentTimeMillis - startTimeMillis )/8000(每8秒) * 360(一圈)
- 1 回答
- 0 关注
- 191 浏览
添加回答
举报
0/150
提交
取消