如何禁用Sencha Touch 2页过渡动画?

时间:2013-06-27 16:01:54

标签: javascript animation extjs sencha-touch sencha-touch-2

我四处搜索它但找不到可以在页面转换时关闭滑动(或任何动画)动画的解决方案。我有简单的应用程序,有4个视图,只显示一堆数据。我正在测试我的应用程序在各种设备上的性能,并认为关闭动画将是要遵循的测试用例之一。

我尝试了几种方法,例如:(警告:这些是我在互联网上找到的所有解决方案,其中一些可能没有意义。我还在学习框架:)

试用I:(在启动功能中)

Ext.override(Ext.Window, {
            animShow: function(){
                this.afterShow();
            },
            animHide: function(){
                this.el.hide();
                this.afterHide();
            }
        });

试用II:(在启动功能中,替换试验I)

Ext.Anim.override({
            disableAnimations:true
        });

试用版III:(在我的视图类中)

config: {
        showAnimation: false,
        hideAnimation: false,
        navigationBar: {
            hidden   : false,
            animation: false
        },
        items: [
            {
                xtype: 'logincard',
                flex : 1
            }
        ]
    }

但是,我可以使用以下方式关闭导航栏中的动画:(在我的视图类中)

navigationBar: {
                hidden   : false,
                animation: false
            }

那么在Sencha Touch 2.2.1中是否完全禁用了页面转换动画?

任何帮助都将受到高度赞赏!

2 个答案:

答案 0 :(得分:4)

终于搞定了。我想我的问题没有足够的信息。我正在使用Navigation View因此push通过控制器查看其他视图。

我所要做的就是在我的config视图的Main内添加以下布局配置,该视图扩展了Navigation View

    layout: {
            type: 'card',
            animation: false
    }

这会在屏幕转换时禁用动画。此外,您可以使用以下配置覆盖动画的durationtype等:

layout: {
    type: 'card',
    animation: {
        duration: 300,
        easing: 'ease-out',
        type: 'slide',
        direction: 'left'
    }
}

这是Navigation View动画的默认配置。我从here找到了帮助。

答案 1 :(得分:0)

我在禁用动画后遇到了问题我遇到了错误:

Uncaught TypeError: Cannot read property 'dom' of null

解决方案是超快动画:

animation: {
    duration: 1,
    //easing: 'ease-out',
    type: 'fade'
    //direction: 'left'
}