同一控制器是否可以有一个xml
用于 iOS 和一个xml
用于 Android?
例如:
我有 que 控制器:UIPhoto.js
我想有2个不同xml
的tss
文件:UIPhoto-iOS.xml
和UIPhoto-Android.xml
并在设备为 iOS 或 Android 时分别充电。
谢谢你。
同一控制器是否可以有一个xml
用于 iOS 和一个xml
用于 Android?
例如:
我有 que 控制器:UIPhoto.js
我想有2个不同xml
的tss
文件:UIPhoto-iOS.xml
和UIPhoto-Android.xml
并在设备为 iOS 或 Android 时分别充电。
谢谢你。
您可以在视图中使用特定于平台的文件夹
controllers
--- UIPhoto.js
views
--- android
------ UIPhoto.xml
--- iOS
------ UIPhoto.xml
但我建议您使用 tss 而不是使用 2 xml 和 2 tss。
例如在你的 tss 中:
"Window[platform=ios]":{
fullscreen : true
}
"View[platform=android]" :{
elevation : 8
}
"View[formFactor=tablet]" :{
elevation : 8
}
"View[platform=android formFactor=handheld]" :{
elevation : 8
}
对于您的控制器:
if(OS_IOS){
}
if(OS_ANDROID){
}
当设备是 iOS 或 Android 时,我认为您不能切换 xml 文件或 tss 文件。
但也许这会有所帮助:
首先,您可以Ti.Platform.osname;
在 index.js 中检测操作系统并评估这样的全局变量Alloy.Globals.OS
。
现在您可以在 js 文件中使用简单的 if 语句切换代码:
if(Alloy.Globals.OS == "android"){...}
在您的 tss 文件中,您可以像这样区分平台:
"#title[platform=android]" : {
font : { textStyle : Ti.UI.TEXT_STYLE_HEADLINE }
}