2012-12-15 65 views
0

的animateActiveItem功能动画我有我的应用程序类下面的代码:为什么不是在煎茶触摸

switchMainView: function (newView, config) { 
     if (this.currentView != false) { 
      Ext.Viewport.remove(this.currentView); 
     } 

     this.currentView = Ext.create(newView, config);   
     Ext.Viewport.animateActiveItem(this.currentView, { type: 'slide', direction: 'right' }) 
    }, 

可以从任何控制器来调用。但是,它没有显示动画。任何想法它有什么不对?

回答

0

根据煎茶球员:

AnimateActiveItem(activeItem,动画)将

动画处理所提供的activeItem与指定的动画。 目前这只适用于卡布局。对于单个卡片开关,此传递的动画将覆盖容器上的所有默认动画。完成后动画将被销毁。

viewport: { 
layout: { 
    type: 'card' 
} 

}

在app.js

+0

是的,我同意这一点,用卡片布局,你可以执行动画。 –

+0

我想补充一点,因为这部分是由于我缺乏理解。如果有东西要进行动画处理,视口只会动画。如果只有一张卡,即我删除了第一张卡,然后添加一张新卡,则它将从0卡过渡到1卡时不起作用。 – jaffa

0

这是因为“this.currentView”视图还不是视口的一部分。在animateActiveItem行之前使用此行:

Ext.Viewport.add(this.currentView); 

这应该使它工作。

+0

添加上面的代码不工作,我注释掉动画线,并尽快的add()被调用时映入眼帘...... – jaffa