0

我只想显示一个简单的弹出菜单,其中包含垂直排序的菜单项。就像 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();


}); 
4

2 回答 2

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();*/
});
于 2013-08-22T04:26:55.243 回答
2

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

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

于 2013-08-21T23:33:40.850 回答