我正在使用appcelerator钛将我的Android应用程序移植到ios上。
如果我定义一个用于视图或其他类似的图像
backgroundImage : "/images/blueButton.png",
我将放置blueButton.png的文件位置是什么?
是/resources/iphone
,/resources/images
还是其他什么?
答案 0 :(得分:1)
根据this answer on the archived Appcelerator forum的Malcolm Hollingsworth的说法:
设备特定图片应放在 android 文件夹中 用于iOS图像的Android特定图像和 iphone (iPhone,iPod和 ipad公司)。
如果您要创建支持主平台和某些平台的应用程序 图像是相同的无论设备(想想照片),那么你可以 并应在设备文件夹外创建一个文件夹。
通过这个例子:
现在在支持所有图像密度的跨平台应用程序中(或在 至少主要的 - 你的文件夹看起来像这样 里面的图像;
/resources/ /resources/android/ /resources/android/images/res-ldpi/test1.png /resources/android/images/res-mdpi/test1.png /resources/android/images/res-hdpi/test1.png /resources/android/images/res-xhdpi/test1.png /resources/iphone/ /resources/iphone/images/test1.png /resources/iphone/images/test1@2x.png
这两个是
/resources/iphone/images/test1.png = non-retina /resources/iphone/images/test1@2x.png = retina
...
那么你的代码就是;
var myImageView = Ti.UI.createImageView({ height: Ti.UI.SIZE, image : '/images/test1.png', width: Ti.UI.SIZE });
向Malcolm Hollingsworth提示。
答案 1 :(得分:1)
对于 iOS 将图片放在“/ resources / images”路径中,这应该可以正常工作。对于iOS非视网膜显示资源文件夹中的图像名称应该是正常的(在我们的示例中,它将是myImage.png),对于视网膜显示资源文件夹中的图像名称应该是myImage@2x.png,其大小比非视网膜图像大
对于 Android 将图像放在“resources / android / images /”路径中的设备特定文件夹中,这应该可以正常工作。
var myImage = Titanium.UI.createImageView({
height : Titanium.UI.SIZE,
width : Titanium.UI.SIZE,
image : "/images/myImage.png"
});
此代码适用于Android和iOS。
注意:在iOS中你可以直接将图像放在iPhone文件夹中,并使用image:“myImage.png”作为createImageView中的参数,但它在android中不起作用。所以最好使用上面的文件夹结构,其中相同的图像用于iOS和Android两者。 您可以将设备特定的图像直接放在iPhone文件夹中,因为它们永远不会在Android设备中使用。