为了账号安全,请及时绑定邮箱和手机立即绑定

请问为什么这里是实现了8秒画出一个圆环?

请问为什么这里是实现了8秒画出一个圆环?

茅侃侃 2022-05-26 12:15:22
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 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

(currentTimeMillis - startTimeMillis ) * 360 / 8000
= (currentTimeMillis - startTimeMillis )/8000(每8秒) * 360(一圈)

查看完整回答
反对 回复 2022-05-30
  • 1 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信