1

我在 onDraw 中使用invalidate()来获取加载视图,但它没有启动 onDraw 调用。

public void onDraw(Component component, Canvas canvas) {
<function body>
invalidate()
}
4

1 回答 1

0
  1. 确保您在实现中调用 addDrawTask 方法
  2. 即使在调用 addDrawTask 方法之后,如果在 UI 线程上没有调用 invalidate(),那么在 UI 线程上也可能不会调用 onDraw()。因此,我们可以确保通过执行以下语句在 UI 线程上调用它:
 context.getUITaskDispatcher().asyncDispatch(this::invalidate);

当我尝试连续调用 onDraw() 方法来显示动画时,这对我个人有用。

于 2021-08-05T06:54:03.893 回答