【发布时间】:2012-01-03 10:39:24
【问题描述】:
我们开始开发来自 iOS 开发的 Android 应用,但在处理背景图像时遇到了困难。
我们有一个 1024 x 1200 的背景图片,我们希望它在视图中水平居中并顶部对齐。我们不希望图像被缩放,但希望图像溢出/剪辑,以便它正确地位于视图中。类似于 CSS background-position: top center;
我们尝试了几种方法,但总是得到缩放的图像。 setScaleType()、setAdjustViewBounds()、通过 LayoutParams 设置重力和其他各种东西的组合都没有成功。我们现在有点不知道下一步该尝试什么。
我们的想法是,我们可以将单个图像用于多个屏幕尺寸,而无需调整图像大小(我们将有 2 或 3 个这些图像用于屏幕尺寸/密度范围)。这是为了减少我们需要覆盖所有 android 屏幕可能性的这些图像的数量。
克雷格
【问题讨论】:
-
它可能无法解决您的问题,但如果您在
background属性中设置了图像,则 scaletypes 将不起作用。如果你想使用它们,你需要一个ImageView并在src属性中设置图像。 -
基本上,您需要的是一个 ImageView,scaletype 设置为 centercrop,top|center_horizontal 设置为 layout_gravity。
标签: android background imageview crop gravity