0

首次显示 Activity 时启动 Litho 动画的正确方法是什么。所有Litho 动画示例都是由用户操作启动的,但我想自动运行一个。

我试图扩展一个 Litho 动画示例RTAnimationComponentSpec来触发动画@OnEvent(VisibleEvent.class)而不是仅仅@OnEvent(ClickEvent.class). 但它并没有火。

现有的点击事件处理程序:

  @OnEvent(ClickEvent.class)
  static void onClick(ComponentContext c) {
    RTAnimationComponent.updateStateSync(c);
  }

我添加的其他事件处理程序:

  @OnEvent(VisibleEvent.class)
  static void onVisible(ComponentContext c) {
    RTAnimationComponent.updateStateSync(c);
  }

VisibleEvent通过以下方式确认没有触发:

  1. 加载渲染线程示例并确认动画没有开始
  2. onVisible()在方法中设置断点

如何自动运行 Litho 动画?

4

1 回答 1

1

我发现可行的一种解决方案是利用@OnCreateInitialState

@OnCreateInitialState
static void createInitialState(
        ComponentContext c,
        StateValue<Boolean> state) {
    state.set(true);
}

这会运行动画,但我不确定它是否是首选方式。

于 2019-05-03T21:04:11.100 回答