计算不同屏幕的对象大小

时间:2018-04-17 15:51:54

标签: appcelerator image-resizing aspect-ratio aspect

我在Appcelerator中编写了一个应用程序,它将运行不同的移动屏幕。因此,屏幕尺寸和比例会很多。

让我这样问一下;我有一个图像对象,我希望它在不同的屏幕上保护它的比例。

如何计算宽度和宽度?不同屏幕的这个对象的高度?

1920 X 1080屏幕中的对象大小为885 X 109。

(例如)812 X 375(iPhone X尺寸)屏幕的尺寸应该是多少?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用

Alloy.Globals.WIDTH = (OS_ANDROID) ? Ti.Platform.displayCaps.platformWidth / Ti.Platform.displayCaps.logicalDensityFactor : Ti.Platform.displayCaps.platformWidth;
Alloy.Globals.HEIGHT = (OS_ANDROID) ? Ti.Platform.displayCaps.platformHeight / Ti.Platform.displayCaps.logicalDensityFactor : Ti.Platform.displayCaps.platformHeight;

获取正确的设备尺寸。

但我不确定我是否理解这个问题。您不需要在不同设备上对图像的宽高比进行任何特殊操作。您可以在Ti.UI.SIZEwidth上使用height,在另一个属性上使用固定值来保持宽高比。例如。如果您的图像应始终为300dp宽度,请将高度设置为Ti.UI.SIZE。 如果要将图像宽度调整为设备屏幕宽度,但保留左/右边距,则可以使用

image.width = Ti.UI.FILL;
image.left = 10;
image.right = 10;
imahe.height = Ti.UI.SIZE;

对于其他计算,您可以使用上面的Alloy.Globals.WIDTHAlloy.Globals.WIDTH(将其放入alloy.js)并将其乘以图像比率以获得另一面。