我在我的应用中使用dip作为单位。我发现,宽度在不同的设备上并不精确,例如:292倾角宽度会在160和320 dpi设备上产生不同的结果。
这是我的基本方法:
<ImageView id="panelImage" width="292" image="/images/loginPanel.png"></ImageView>
在显示元素之前,我检查设备密度因子(使用Ti.Platform.displayCaps.logicalDensityFactor)并使用160 / Ti.Platform.displayCaps.logicalDensityFactor高亮显示图像宽度,如下所示:
$.panelImage.width = $.panelImage.width * 160 / Ti.Platform.displayCaps.logicalDensityFactor;
它有效,但我的问题是我必须在每个项目上重新计算大小值... 还有其他解决办法吗?
最好的将是这样的(但它不工作!!!):
<ImageView id="panelImage" width="(292*160/Ti.Platform.displayCaps.logicalDensityFactor)" image="/images/loginPanel.png"></ImageView>
(所以,我尝试在Alloy View定义XML文件中使用乘法。)
有什么想法吗?