Я разрабатываю циферблат и хочу повернуть секундную стрелку на 1,2 градуса за 1/5 секунды.
Почему эти цифры?
1) 360 градусов / 60 секунд = 6 градусов в секунду
2) 6 градусов / 5 = 1,2 градуса (поворот на 1,2 градуса за одну пятую секунды).
Ниже приведено нормальное вращение (6 градусов в секунду).
Изображение выше тратит одну секунду на поворот на 6 градусов.
У меня вопрос: как потратить одну пятую секунды, чтобы повернуть 1,2 градуса?
Это мой код:
private void drawClassicSecondsHand(Canvas canvas) {
final int seconds = (mCalendar.get(Calendar.SECOND));
final float secondsRotation = seconds * 6;
float originRadius = complicationHandBitmap.getWidth() / 2f;
float secondsAreaCenterX = mCenterX - (float) (mCenterX * 0.45);
canvas.rotate(secondsRotation, secondsAreaCenterX, mCenterY);
classicSecondsComplication.draw(
canvas,
secondsAreaCenterX,
mCenterY,
classicComplicationRadius,
complicationHandBitmap,
originRadius);
}
Вышеуказанный метод вызывается в методе onDraw
моей службы циферблата.
public void onDraw(Canvas canvas, Rect bounds) {
...
drawClassicSecondsHand(Canvas canvas);
}