有人可以帮助我理解 CODENAME ONE 中的动画吗?

Can someone assist me in understanding Animations in CODENAME ONE?

我很困惑如何在 CN1 中使用各种动画 类 来实现所需的视觉效果。具体 类 例如“ComponentAnimation”、“AnimationObject”和“Motion”。 我还没有以任何方式成功地利用这些 类。

'''

Form f = new Form(BoxLayout.y());
        f.getStyle().setBgColor(0x004040);
        Label l1 = new Label("Label");
        Container labelContainer = new Container(BoxLayout.y());
        labelContainer.add(l1);

        ComponentAnimation ca1 = labelContainer.createAnimateHierarchyFade(2000, 0);
        labelContainer.getAnimationManager().addAnimation(ca1); //This is line 20.

'''

'''

java.lang.NullPointerException
    at com.avf.ags.GrowSystem.runApp(GrowSystem.java:20)
    at com.codename1.system.Lifecycle.start(Lifecycle.java:130)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at com.codename1.impl.javase.Executor.run(Executor.java:341)
    at com.codename1.ui.Display.executeSerialCall(Display.java:1395)
    at com.codename1.ui.Display.processSerialCalls(Display.java:1379)
    at com.codename1.ui.Display.mainEDTLoop(Display.java:1166)
    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
    at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)

'''

我从那里得到了概念。但我不确定它是如何工作的。

这些是布局动画,只有在显示表单时才会起作用。此时表单未显示,因此它们将失败。

我建议先显示表格。在表单上使用显示侦听器来检测它何时真正完成显示。然后将组件和动画添加到已经显示的表单中。这将与您希望在任何过渡动画之后出现的效果更加一致。对吗?