Sencha touch 2 为视口移除设置动画
我有一个按钮,删除当前视图以显示下面的内容。它的工作只是很好,除了我想动画它。这可能吗 删除有效的代码:Sencha touch 2 为视口移除设置动画,sencha-touch-2,sencha-architect,Sencha Touch 2,Sencha Architect,我有一个按钮,删除当前视图以显示下面的内容。它的工作只是很好,除了我想动画它。这可能吗 删除有效的代码: Ext.Viewport.remove(Ext.Viewport.getActiveItem(), true); 使用动画调用另一个视图的示例: var c = Ext.getCmp('NextView'); if(c === undefined) c = Ext.create('MyApp.view.NextView'); Ext.Viewport.animateActiveItem(E
Ext.Viewport.remove(Ext.Viewport.getActiveItem(), true);
使用动画调用另一个视图的示例:
var c = Ext.getCmp('NextView');
if(c === undefined) c = Ext.create('MyApp.view.NextView');
Ext.Viewport.animateActiveItem(Ext.getCmp('NextView'), {type: 'slide', direction: 'left'});
我已经尝试了以下方法,但没有成功:
Ext.Viewport.remove(Ext.Viewport.getActiveItem(), true, {type: 'slide', direction: 'left'});
以及:
Ext.Viewport.remove(Ext.Viewport.getActiveItem(), {type: 'slide', direction: 'left'});
注意,我需要删除屏幕(而不仅仅是调用另一个屏幕),因为组件在整个应用程序中都是链接的。首先:感谢sencha提供了这个出色的谜题 在阅读了的实现之后,我发现可以使用
activeitemchange
事件:
back: function() {
var items,
current,
previous;
items = Ext.Viewport.getItems();
current = items.get(items.length - 1);
previous = items.get(items.length - 2);
Ext.Viewport.on({
activeitemchange: 'onAfterAnimate',
scope: this,
single: true,
order: 'after',
args: [current]
});
Ext.Viewport.animateActiveItem(previous, {type: 'slide', direction: 'right'});
},
onAfterAnimate: function(itemToDestroy) {
itemToDestroy.destroy();
}
注意,我使用了
这个
作为范围
。范围
用于方法查找。有人能想出更简洁的解决方案吗?