Sencha Touch 2:使用“淡入淡出”动画在两个面板之间切换?

时间:2012-05-31 05:00:03

标签: android performance animation extjs sencha-touch-2

我想知道在屏幕上换出两个面板以消除效果的最佳方法是什么?

我有两个面板,我使用CSS将它们放在彼此的顶部。 panelOne可见,panelTwo被隐藏。

点击另一个按钮(不在任何一个面板上),我希望panelOne淡出,panelTwo淡入。

我目前使用下面的代码工作,但我发现它在我们这里进行测试的一些Android设备上相当滞后。有没有比我目前使用的更好的方法呢?我该如何改进这个动画?

此代码在按钮上执行:

Ext.Anim.run(panelOne, 'fade', {
   duration: 100,
   after: function() {
      panelOne.hide();
   }
});
Ext.Anim.run(panelTwo, 'fade', {
   out: false,
   duration: 100,
   before: function() {
      panelTwo.show();
   }
});

非常感谢任何帮助。

感谢。

2 个答案:

答案 0 :(得分:2)

没有必要使用Ext.Anim这么久。

例如,您的应用的Ext.Container分别包含panelOnepanelTwo作为第一项和第二项。

然后,如果您想使用panelOne动画从panelTwo导航到fade,只需使用:

Ext.getCmp('your_container_id').animateActiveItem(1,'fade')

您可以这样做:

  • showAnimation: 'fadeIn'添加到您的panelTwo配置
  • hideAnimation: 'fadeOut'添加到您的panelOne的配置

希望它有所帮助。

答案 1 :(得分:0)

控制其他配置,如持续时间,使用:

hideAnimation:{type:'fadeOut',duration:1000}