过渡冻结Android设备

时间:2015-12-03 13:54:17

标签: codenameone

我在这里遇到了一个问题。这里冻结我的Android手机,虽然它在模拟器上工作得非常好,只需点击工具栏命令即可执行。

getContentPane()。replace(getContentPane()。getComponentAt(0),createAbout(),CommonTransitions.createCover(CommonTransitions.SLIDE_HORIZONTAL,false,100));

我认为这是因为过渡。 有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

如果您只是想要替换动画,您可以做的是:

getContentPane().replace(getContentPane().getComponentAt(0), createAbout(), null);

getContentPane().animateLayoutAndWait(200);

答案 1 :(得分:0)

在当前实现中,如果您一次运行两个动画(替换,布局等),您可能会创建一个可以触发异常/冻结的无效状态。

如果你有可能需要在开始动画之前设置一个标志,并在完成动画时释放它,例如:

if(!globalLockFlag) {
    globalLockFlag = true;
    // change stuff and use animateLayoutAndWait or replaceAndWait
    globalLockFlag = false;
} else {
   // use timer or callSerially to postpone or skip animation entirely
}