【发布时间】:2019-09-03 01:42:35
【问题描述】:
如何在画布上以 WearOS 每 5 秒为 line 设置动画?
我知道我们必须使用 AnimatorTask 来调用 postInvalidate()。但是由于我直接在canvas 上绘制line,所以我没有View 对象。
public class AnimatorTask extends TimerTask {
private WatchEventInfo eventInfo;
public AnimatorTask(WatchEventInfo eventInfo) {
this.eventInfo = eventInfo;
}
@Override
public void run() {
drawAndAnimate();
}
public WatchEventInfo getEventInfo() {
return eventInfo;
}
private void drawAndAnimate() {
Canvas canvas = eventInfo.getCanvas();
// For testing
canvas.drawLine(100, 100, 300, 300 markerPaint);
}
}
假设我的TimerTask 存在于CanvasWatchFaceService 子类中,如何访问canvas.drawLine() 方法对象并通知canvas 从TimerTask 重绘自身?
【问题讨论】:
标签: android android-canvas android-wear-2.0 watch-face-api