试图创建一个移动Android应用在钛使用钻下导航。
显然,这部分代码有问题:
// create the main menu container
var main_menu = Ti.UI.createTableView({
style:Titanium.Android.TableViewStyle.GROUPED,
scrollable:true
});错误是:
错误: TiExceptionHandler:(TiExceptionHandler) 1,257 -在app.js:21,42错误中: TiExceptionHandler:(main) 5,262 -消息: Uncaught :无法读取未定义错误的“分组”属性: TiExceptionHandler:(main) 4,266 -来源: V8Exception:发生在app.js:21的异常:未定义的TypeError:无法读取属性“分组”
正在使用基于以下内容的代码:
// create the main menu container
var main_menu = Ti.UI.createTableView({
style:Titanium.UI.iPhone.TableViewStyle.GROUPED,
scrollable:false
});可以看到,我将"Titanium.UI.iPhone“改为"Titanium.Android",这似乎不是安卓平台的正确语法。
有人帮忙吗?
谢谢。
发布于 2014-10-23 01:33:24
如果您检查文档,您可以看到"style“属性仅对iOS可用。
编辑:对于Android,似乎不存在本机的分组表视图样式(这就是为什么只针对iOS)。有一种观点认为,你应该只使用平台上可用的UI元素,而不是试图让你的跨平台应用在这两个平台上看起来完全一样。另一个人会说,也许您可以这样做(取自这里):
var win = Titanium.UI.currentWindow;
win.barColor = "FB9D3B";
win.backgroundColor = '#AEBCAD';
var isAndroid = false;
if (Titanium.Platform.name == 'android') {
isAndroid = true;
}
// create table view data object
var data = [
{title:"Row 1", color:'black', font:{fontWeight:'bold'}, hasChild:true, url:'row1.js'},
{title:"Row 2", color:'black', font:{fontWeight:'bold'}, hasChild:true, url:'row2.js'},
];
if(false == isAndroid) {
// create table view
var tableViewOptions = {
data:data,
style:Titanium.UI.iPhone.TableViewStyle.GROUPED,
headerTitle:"Header for iOS",
backgroundColor:'transparent',
rowBackgroundColor:'white'
};
}
if(true == isAndroid) {
var tableHeader = Titanium.UI.createLabel({
color:'#000',
text:"Header for Android",
font:{fontWeight:'bold'},
top:20,
left:30,
width:300,
height:20
});
win.add(tableHeader);
var tableViewOptions = {
data:data,
backgroundColor:'white',
rowBackgroundColor:'white',
top:40,
height:98,
width:300,
borderWidth:1,
borderRadius:10
};
}https://stackoverflow.com/questions/26519358
复制相似问题