[Titanium Mobile]TabGroupのTop LevelでAndroidのMenuを表示
Titanium SDK 3.1.3.GAに上げたらAndroidのメニューが表示されなくなったので調査したときの覚書。
環境: Titanium SDK 3.1.3.GA
TabGroupの各タブのトップだけ表示されず、下の階層へ画面遷移すれば普通にメニューが表示される。
今までは共通関数で、
win = Titanium.UI.createWindow();
win.activity.onCreateOptionsMenu = function(e) {
e.menu.add({title: L('menu1')});
});
とやっていた。
どうやらTabGroup直下のwndowにはactivity(≒画面)がないらしい。
Titaniumではactivityを持っているwindowを「heavyweight」windowと呼んでいて、「heavyweight」なwindowを作成するかどうかを条件に応じて判断している。詳しくは下記。
TabGroup直下の場合はTabGroupのActivityでonCreateOptionsMenuする必要があるみたい。
tabGroup = Titanium.UI.createTabGroup();
tabGroup.activity.onCreateOptionsMenu = function(e) {
e.menu.add({title: L('menu1')});
});
< Related Posts >