0

我的应用程序类中有以下代码:

 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' })
    },

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

4

2 回答 2

0

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

Ext.Viewport.add(this.currentView); 

这应该使它工作。

于 2012-12-17T13:19:10.697 回答
0

根据 sencha 伙计们的说法:

AnimateActiveItem(activeItem,animation ) 将

使用指定的动画对提供的 activeItem 进行动画处理。目前这只适用于 Card layout。此传递的动画将覆盖容器上的任何默认动画,用于单卡切换。动画完成后将被销毁。

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

}

在 app.js 中添加上述代码

于 2012-12-20T04:30:09.203 回答