这不是什么秘密。我的数学能力不是那么令人印象深刻。
我正在开发自己的 Wear Watchface。但我想在手表上每隔 10 分钟在屏幕中心画一条画线。(参见 500px 模拟示例)。
通过使用谷歌示例代码,我可以实现这一点,但只有从屏幕一侧到中心的整行。但我希望它的长度是 500px 表盘的 5%(或固定数量的像素)。这是谷歌绘制第二个表盘的代码:
float centerX = width / 2f;
float centerY = height / 2f;
float secRot = mTime.second / 30f * (float) Math.PI;
float secLength = centerX - 20;
float secX = (float) Math.sin(secRot) * secLength;
float secY = (float) -Math.cos(secRot) * secLength;
canvas.drawLine(centerX, centerY, centerX + secX, centerY + secY, mHandPaint);
通过更改 mTime.second 我可以从特定的秒数开始绘制。