遵循这里的概念:
我创建了一个
的文件夹Resources/android/images/
然后是:
high/
medium/
low/
并且在每个中是不同密度的文件(比如about.png,比如说)
问题在于,当我引用它们时:
var aboutTab = Ti.UI.createTab({
icon: '/images/about.png',
title: 'about',
window: about
});
正如其他人所建议的那样(也就是说,丢失'图像'上的前导斜杠):
var aboutTab = Ti.UI.createTab({
icon: 'images/about.png',
title: 'about',
window: about
});
然后加载应用程序,确保标签本身在那里......但图标不是。请注意,如果我有一个普通的旧文件:
Resources/images/about.png
然后图标将出现......但不会出现。有没有......我有什么想念的吗?
答案 0 :(得分:1)
Plz以冷静的心态阅读并理解这与我合作“更多控制”段落。
var aboutTab = Ti.UI.createTab({
icon: 'images/about.png', // "/" remove this and try again
title: 'about',
window: about
});
plz,从您的设备或模拟器中删除旧的应用程序。在此之后,然后构建我认为这是正常的。
答案 1 :(得分:1)
好的,所以标准答案永远不会为我工作。我在这里使用Titanium 2.1。 {插入关于Ti开发者遗产的侮辱}
解决方案很简单 - 不要使用备受吹嘘的智能钛密度特定解决方案"正如这里讨论的那样:
相反,请使用这个简单,亲切的代码来解决您的问题!
var density = (Titanium.Platform.displayCaps.dpi <= 160) ? 'low' : (Titanium.Platform.displayCaps.dpi > 160 && Titanium.Platform.displayCaps.dpi < 240) ? 'medium' : 'high';
var preamble = (Ti.Platform.osname === 'iphone' || (Ti.Platform.osname === 'ipad') )? 'images':'android/images/'+density + '/';
好的,所以第一位设置了密度 - 注意我不知道Ti的密度读数是否正确,我只是把它放到我用掉它们之前 - 如果应用程序是Android应用程序,则第二位使用它。
然后,我曾经在那里:
var aboutTab = Ti.UI.createTab({
icon: 'images/about.png',
title: 'about',
window: about
});
我现在有:
var aboutTab = Ti.UI.createTab({
icon: preamble + '/about.png',
title: 'about',
window: about
});
那就是那个!
最后的话: 我已经注意到,根据所使用的Titanium版本(2.1.3 vs 2.1.0)或使用的android sdk,这可能会非常。我在2.1.0和4.2安卓上取得了最好的成绩,其中包括使用&#39;图像&#39;前缀(你知道,指南如何说)。
我注意到的一件事是我不能同时拥有高/中/低文件夹和hdpi文件夹,我需要一个或另一个。
我遇到的另一个问题是,有时代码不会加载android / images /文件夹。完全防弹的方法是使用我所描述的代码,但将密度特定的文件夹直接放在图像文件夹下,并通过images / high /等参考它们。图像中的内容始终是复制过,并且显示的代码始终有效,无论Ti版本如何。
最后请注意,确保您的图像具有区分大小写的名称,因为它可以在Windows模拟器中使用,但不能在实际(基于unix的)设备中使用。