使用appcelerator在Android中添加菜单

时间:2012-08-29 14:10:25

标签: titanium titanium-mobile appcelerator-mobile

我有一个问题。新窗口在单独的js文件中定义。我想在这个窗口中添加一个菜单。所以我使用了以下代码:

var menu = Titanium.UI.Android.OptionMenu.createMenu();

var item1 = Titanium.UI.Android.OptionMenu.createMenuItem({
     title : 'Item 1',
     icon : '/images/item1.png'
});

var item2 = Titanium.UI.Android.OptionMenu.createMenuItem({
     title : 'Refresh',
     icon : '/images/refresh.png'
});
menu.add(item1);
Titanium.UI.Android.OptionMenu.setMenu(menu);

这样做,应用程序崩溃了。谁能帮我解决这个问题呢?

提前感谢!

注意:使用Appcelerator开发Android应用程序。

1 个答案:

答案 0 :(得分:0)

永远记住在当前重量级窗口上设置菜单。 要创建重量级窗口,请指定一个或多个

  1. 全屏,
  2. navBarHidden,
  3. 模态
  4. 否则你可以使用app.js文件,这是有效....指定此属性。

    var menu = Titanium.UI.Android.OptionMenu.createMenu();
    var item1 = Titanium.UI.Android.OptionMenu.createMenuItem({
        title : 'Item 1',
        icon : '/images/item1.png'
    });
    
    item1.addEventListener('click', function(){
        Ti.UI.createAlertDialog({ title : 'You clicked Item 1'}).show();
    });
    var item2 = Titanium.UI.Android.OptionMenu.createMenuItem({
        title : 'Refresh',
        icon : '/images/refresh.png'
    });
    item2.addEventListener('click', function(){
        Ti.UI.createAlertDialog({ title : 'You clicked Refresh'}).show();
    });
    menu.add(item1);
    menu.add(item2);
    
    // Set the menu on the current heavyweight window. A heavyweight window maps to an Android
    // Activity. To create a heavyweight window, specify one or more of [**fullscreen**,**navBarHidden**,**modal**] to createWindow.
    
    Titanium.UI.Android.OptionMenu.setMenu(menu);