Ansichtsfenster Anwenden Bedingte Symbolleiste mit Sencha Touch

Ich werde MVC-route mit Sencha. Ich habe einen Viewport panel initialisiert, ähnlich wie das twitter-Beispiel:

/**
* @author Jeff Blake
*/
Ext.regApplication('App', {
defaultTarget: 'viewport',
defaultUrl   : 'Viewport/index',
name         : 'App',
icon         : "mobile/public/resources/images/icon.png",
phoneStartupScreen : "mobile/public/resources/images/phone_startup.png",
//useHistory   : false,
//useLoadMask : true,

launch: function() {
    Ext.Viewport.init();
    Ext.Viewport.onOrientationChange();

    this.viewport = new App.Viewport({
        application: this
    });

    Ext.dispatch({
        controller: 'User',
        action    : 'index'
    });
}
});

/**
* @class App.Viewport
* @extends Ext.Panel
* This is a default generated class which would usually be used to initialize your     application's
* main viewport. By default this is simply a welcome screen that tells you that the app was 
* generated correctly.
*/
App.Viewport = Ext.extend(Ext.Panel, {
id        : 'viewport',
layout    : 'card',
fullscreen: true,
cardSwitchAnimation: 'slide',

initComponent: function() {

    Ext.apply(this, {

        dockedItems: [
            {
                //Top Bar
                dock   : 'top',
                xtype  : 'toolbar',
                title  : 'Whats Good',
                items: [
                    {
                        text: 'About'
                    },

                ]
            }


        ]
    });


App.Viewport.superclass.initComponent.apply(this, arguments);
}

});
Ext.reg('App.Viewport', App.Viewport);

Neuen Code:

if (!App.viewport.getDockedComponent(homeBar)) {
        var homeBar = new App.HomeBar();
        App.viewport.addDocked(homeBar);
    }

Will ich auch können, bedingt gelten DockedItems (Symbolleisten) basierend auf welche Art von panel ist aktuell gerenderte Ansichtsfenster. ZB: einen für Login, Startseite, detail-Bildschirm, etc.

Ich habe versucht, mit Ext.apply(App.Viewport, { dockedItems: [App.LoginBar]});
Aber das funktioniert nicht. Aktuell funktioniert das hinzufügen der Symbolleiste, um das aktuell gerenderten Panel, und wenn er auf Vollbild, aber leider die übergänge und Verhalten sich die Dinge unheimlich, wie die Struktur ist

Panel
Toolbar
    Panel
    Toolbar
    /end Panel
/end Panel

Hat jemand einen Vorschlag?

InformationsquelleAutor JBlake | 2011-01-18
Schreibe einen Kommentar