对于同一个控制器,iOS可以有一个xml
,Android有一个xml
吗?
例如:
我有que控制器:UIPhoto.js
我希望有2个不同的xml
和tss
个文件:UIPhoto-iOS.xml
和UIPhoto-Android.xml
并在设备为iOS或Android时为每个设备充电。
谢谢。
答案 0 :(得分:4)
是的,这是可能的,而且非常简单! 您只需要为要定位的特定平台设置不同的文件夹。 想象一下,你在Views文件夹中有index.xml文件,对吧? 你可以按照自己的惯例对xml进行编码,如果你想要一个不同的Android文件(让我们说),你只需要在里面创建一个文件夹" Views"文件夹名为Android。使用文件夹结构检查此图像:
注意'控制器'中的Android文件夹。和iOS中的观点' ;)
答案 1 :(得分:2)
您可以在视图中使用特定于平台的文件夹
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){
}
答案 2 :(得分:0)
当设备是iOS或Android时,我认为您无法切换xml文件或tss文件。
但也许这很有帮助:
首先,您可以在index.js中检测到Alloy.Globals.OS
的操作系统,并对此if(Alloy.Globals.OS == "android"){...}
这样的全局变量进行定价。
现在,您可以使用简单的if语句在js文件中使用:
切换代码"#title[platform=android]" : {
font : { textStyle : Ti.UI.TEXT_STYLE_HEADLINE }
}
在你的tss文件中,你可以像这样:
MessageProducer.send()