如何使View的尺寸超出设备尺寸?

时间:2017-07-10 14:20:20

标签: titanium

我想要以View为中心的大图像。我希望ImageView的高度占据设备高度的100%,无论宽度是多少都占用设备宽度。

我不希望图像被压扁以适应设备的宽度,我希望看到图像的中心,如果任何宽度在屏幕外并且看不见,则完全没问题。

我尝试了一些但没有任何作用。

编辑:我的回答适用于iOS,但我还没有想出让它在Android上正常运行的方法。我使用了FokkeZB的ui.js

https://github.com/FokkeZB/UTiL/blob/master/app/lib/ui.js

这就是我想要它与我的图像做的事情,但不幸的是它有点慢(图像在屏幕出现后加载。我想我可以预先加载所有图像并稍后应用它们。

1 个答案:

答案 0 :(得分:0)

在这种情况下,我最终做了一些简单的数学运算。获取设备的高度:

var height = Math.floor(Titanium.Platform.displayCaps.platformHeight);

然后我将imageView的高度设置为设备的高度。接下来我需要我的图像比例:

var ratio = imgOgWidth/imgOgHeight

将其乘以设备高度:

var imageWidth = height * ratio;

我的xml设置如下:

<View clipMode="Titanium.UI.iOS.CLIP_MODE_ENABLED" height="Ti.UI.FILL" width="Ti.UI.FILL">
        <ImageView id="background_image" image="/images/myImage.jpg"/>
</View>

在我的.js文件中,我将图像宽度和高度设置为上面的值。效果很好!可能与景观有所不同,但这适用于我的应用程序,它被锁定为肖像。

注意:这仅适用于iOS。