Android背景图片大于容器

时间:2012-01-03 10:39:25

标签: android background imageview crop gravity

我们开始开发来自iOS开发的Android应用程序,并且难以处理背景图像。

我们想要一个1024 x 1200的背景图像,我们希望在水平视图和顶部对齐的视图中居中。我们不希望图像缩放,但希望图像溢出/剪辑,以便它在视图中正确放置。你可以用CSS background-position:top center;

来实现

我们已经尝试了一些方法,但总是得到一个缩放的图像。 setScaleType(),setAdjustViewBounds()的组合,通过LayoutParams设置重力和其他各种事情都没有成功。我们现在有点不知道接下来会尝试什么。

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

克雷格

1 个答案:

答案 0 :(得分:1)

创建一个图层列表:

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

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

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