0

我在我的应用程序中使用 dip 作为单位。我发现,不同设备上的宽度并不精确,例如:292 dip width 会在 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 文件中使用乘法。)

任何想法?

4

0 回答 0