简单的弹出菜单Titanium Android

时间:2013-08-21 22:06:40

标签: android titanium titanium-mobile

我只想显示一个包含垂直排序菜单项的简单弹出菜单。就像Titanium的选项对话框一样。但没有单选按钮。我按如下方式使用了androidView,但是如果单击一个选项,如何解除此对话框?

menuBtn.addEventListener("click", function(e) {

var data = [];


for (var n = 0; n < indexToNameAndHandlerMap.length; n++) {

    var row = Ti.UI.createTableViewRow({
        backgroundSelectedColor : '#ffffff',
        backgroundColor : '#ffffff',
        opacity : 1.0,
        height : Ti.UI.SIZE,
        className : 'row',
        objName : 'row',
        layout : "horizontal"
    });

    var movieNameLabel = Ti.UI.createLabel({
        text : indexToNameAndHandlerMap[n].menuItem,
        color : '#000000',
        backgroundColor : '#ffffff',
        textAlign : Titanium.UI.TEXT_ALIGNMENT_LEFT,
        font : {
            fontSize : '20dp',
        },
        width : '96%',
        height: '45dp',
        left: '2%',
        objName : 'movieNameLabel',
        touchEnabled : false
    });

    row.add(movieNameLabel);

    data.push(row);
}

var table = Ti.UI.createTableView(
{
    top : '0%',
    left: 0,
    separatorColor : "#000000",
    backgroundColor : '#ffffff',
});

table.setData(data);

var loginView =Ti.UI.createView({
        backgroundColor : '#ffffff',
    });

    loginView.add(table);


Ti.UI.createOptionDialog({
title:'Select An Option',
androidView:loginView
}).show();


}); 

2 个答案:

答案 0 :(得分:3)

尝试以下代码

var loginView =Ti.UI.createView({
    backgroundColor : '#ffffff',
});

loginView.add(table);

var option = Ti.UI.createOptionDialog({
    title:'Select An Option',
    androidView:loginView
});

option.show();

option.addEventListener('click', function(e){
   option.hide(); /*can also use e.source.hide();*/
});

答案 1 :(得分:2)

你需要添加一个eventListener来监听对话框中的click事件以关闭窗口。

http://docs.appcelerator.com/titanium/3.0/#!/api/Titanium.UI.OptionDialog-event-click