ImはSenchaでMVCルートに行きます。私は、ビューポートパネルは、Twitterの例のように多くを初期化していますビューポートSencha Touchで条件ツールバーを適用する
/**
* @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);
新しいコード:
if (!App.viewport.getDockedComponent(homeBar)) {
var homeBar = new App.HomeBar();
App.viewport.addDocked(homeBar);
}
を私は条件付きでDockedItems(ツールバー)を適用することができるようにしたい現在レンダリングされたパネルのタイプに基づいて、ビューポートに表示されます。 EG:ログイン、ホーム画面、詳細画面など。
私はExt.apply(App.Viewport、{dockedItems:[App.LoginBar]})を試してみました。 しかし、それは動作しません。現在、それは現在レンダリングパネルにツールバーを追加するために動作し、フルスクリーンに設定するが、構造が
Panel
Toolbar
Panel
Toolbar
/end Panel
/end Panel
誰もが提案を持っていますか?あるとして、残念ながら遷移し、物事は不気味に振る舞いますか
それはまさにそれです。感謝ジェームス。そして、そうです、それは私が現在行っていることですが、スライドアニメーションが適切に機能していないので、このアプローチが解決することを望んでいました - 複数のカードにまたがって動作するツールバーをビューポートにドッキングする方が理にかなっています。 – JBlake
ええと、それは心配です。パネル上のツールバーも同様にスライドする必要があります。 –