2013-06-27 1 views
1

Я искал все вокруг, но не смог найти решение, которое бы отключило анимацию скольжения (или анимацию в этом случае) при переходе страницы. У меня есть простое приложение с 4 видами, которое отображает только кучу данных. Я тестирую производительность своего приложения на разных устройствах и думаю, что отключение анимации станет одним из тестовых примеров.Как отключить анимацию перехода на страницу Sencha Touch 2?

Я попробовал несколько способов, таких как: (осторожно:. Все эти решения, которые я нашел в Интернете, некоторые из них, возможно, не имеет смысла, я все еще учусь рамки :)

Испытание I: (функция запуска)

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

Trial II: (в функции запуска, заменив Trial I)

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

Trial 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?

Любая помощь была бы высоко оценена!

+0

Использовали ли вы Навигационный вид как родительское представление? Поскольку TabPanel или NavigationView обычно добавляют анимацию, но не по умолчанию. – Swar

+0

Я использовал навигационный вид на Main, чей контроллер затем «нажимает» на другие виды. У меня нет глобального основного родителя. Это просто отдельные индивидуальные взгляды. – javaCity

ответ

4

Наконец-то он работал. Наверно, у меня не было достаточной информации по моему вопросу. Я использовал Navigation View, который, следовательно, мог бы отображать другие виды через контроллеры.

Все, что мне нужно было сделать, это установить следующую схему компоновки внутри config моего Main, которая расширяет Navigation View.

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

Это отключит анимацию при переключении экрана. Кроме того, вы можете переопределить duration, type и т.д. анимации с помощью следующей конфигурации:

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

Это конфигурация по умолчанию для анимации для Navigation View. Я нашел помощь от here.

0

У меня был проблема после отключения анимации я получил ошибки как:

Uncaught TypeError: Cannot read property 'dom' of null 

Решения сверхбыстрой анимация:

animation: { 
    duration: 1, 
    //easing: 'ease-out', 
    type: 'fade' 
    //direction: 'left' 
} 
Смежные вопросы