【发布时间】:2018-10-30 22:55:09
【问题描述】:
我正在开发表盘,想在 1/5 秒内将秒针旋转 1.2 度。
为什么是这些数字?
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);
}
【问题讨论】:
标签: java wear-os android-wear-2.0 watch-face-api