2

我们开始开发来自 iOS 开发的 Android 应用程序,并且在处理背景图像时遇到了困难。

我们有一个 1024 x 1200 的背景图像,我们希望它在视图中水平居中并顶部对齐。我们不希望图像被缩放,但希望图像溢出/剪辑,以便它正确地位于视图中。就像你用 CSS background-position: top center; 实现的一样。

我们尝试了一些方法,但总是得到一个缩放的图像。setScaleType()、setAdjustViewBounds()、通过 LayoutParams 设置重力和其他各种东西的组合都没有成功。我们现在有点纠结下一步该尝试什么。

这个想法是我们可以将单个图像用于多个屏幕尺寸,而无需调整图像大小(我们将有 2 或 3 个这些图像用于屏幕尺寸/密度范围)。这是为了减少我们需要覆盖所有 android 屏幕可能性的这些图像的数量。

克雷格

4

1 回答 1

1

创建一个图层列表:

http://developer.android.com/guide/topics/resources/drawable-resource.html#LayerList

在这个图层列表图层中,背景(所需颜色的实心矩形)和图像作为位图标记(此位图标记将防止缩放)并设置图像的所需重力。确保将图像作为图层列表中的最后一项,因为它从下到上水平。然后将此drawable设置为背景。

这将有一个彩色背景,以防由于某种原因图像没有填满整个屏幕,并且图像不会被缩放并且将遵循所需的重力属性。

于 2012-05-25T19:55:34.983 回答