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