lib/Ext/navigation/Bar.js
function(element, config, callback) {
        var me = this,
            animation;

        //reset the left of the element
        element.setLeft(0);

        config = Ext.apply(config, {
            element: element,
            easing: 'ease-in-out',
            duration: me.getAnimation().duration || 250,
            preserveEndState: true
        });

        animation = new Ext.fx.Animation(config);
        animation.on('animationend', function() {
            if (callback) {
                callback.call(me);
            }
        }, me);

        Ext.Animator.run(animation);
        me.activeAnimations.push(animation);
    }
function(element, config, callback) {
        var me = this,
            animation;

        //reset the left of the element
        element.setLeft(0);

        config = Ext.apply(config, {
            element: element,
            easing: 'ease-in-out',
            duration: me.getAnimation().duration || 250,
            preserveEndState: true
        });

        animation = new Ext.fx.Animation(config);
        animation.on('animationend', function() {
            if (callback) {
                callback.call(me);
            }
        }, me);

        Ext.Animator.run(animation);
        me.activeAnimations.push(animation);
    }
Helper method used to animate elements.
You pass it an element, objects for the from and to positions an option onEnd callback called when the animation is over.
Normally this method is passed configurations returned from the methods such as #measureTitle(true) etc.
It is called from the #pushLeftBoxAnimated, #pushTitleAnimated, #popBackButtonAnimated and #popTitleAnimated
methods.

If the current device is Android, it will use top/left to animate.
If it is anything else, it will use transform.
@private