代号为animate forground of label

时间:2017-04-28 23:32:08

标签: label codenameone opacity foreground

这对我不起作用。我试图改变颜色 当我按下按钮时。

 Form hi = new Form("Layout Animations", new BoxLayout(BoxLayout.Y_AXIS));
    Button button = new Button("button");

    Label l = new Label(" ");
    l.setUIID("DestinationUIID");
    l.getAllStyles().setFgColor(0xff0000);

    Label l$ = new Label("Label");
    l$.setUIID("DestinationUIID");
    l$.getAllStyles().setFgColor(0x00ff00);

    hi.add(l$);

    ComponentAnimation ca = l$.createStyleAnimation("DestinationUIID", 2000);
    l$.getAnimationManager().addAnimation(ca, () -> onCompletion());

    button.addActionListener((e) -> {

        //l$.animate();
        l$.getAllStyles().setFgColor(0xff0000);
         l$.animate();
        //hi.getContentPane().animateHierarchyFade(2000, 0);
    });
    hi.add(button);
    hi.show();

我不理解UIID的概念或动画的语法。

1 个答案:

答案 0 :(得分:1)

有很多方法可以将前景从样式动画设置为animate()调用UITimer

使用样式动画我们可以为500毫秒的过渡做这样的事情:

ComponentAnimation ca = myLabel.createStyleAnimation("DestinationUIID", 500);
myLabel.getAnimationManager().addAnimation(ca, () -> onCompletion());