2012-01-03 68 views
0

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

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

我们尝试了一些方法,但总是得到缩放图像。 setScaleType(),setAdjustViewBounds(),通过LayoutParams设置重力等各种组合都没有成功。我们现在有点卡在下一步尝试。

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

克雷格

+0

它可能不是解决您的问题,但如果你已经设置的'background'属性你的形象,scaletypes将无法正常工作。如果你想使用它们,你需要一个'ImageView',并在'src'属性中设置图像。 – Jave 2012-01-03 10:48:38

+0

基本上,你想要的是一个ImageView的,在scaletype设置为centercrop和顶部| CENTER_HORIZONTAL为layout_gravity。 – Jave 2012-01-03 10:50:06

回答

0

创建层列表:

​​

在该层列表层背景(所希望的颜色的实心矩形),并且将图像作为位图标记(此位图标记将防止缩放)并设置图像的所需重力。确保将图像作为图层列表中的最后一个项目,因为它从下到上排列。然后将此可绘制设置为背景。

这将具有一个彩色背景,在情况下,从某些原因,图像不填充整个屏幕,并且图像将不会被缩放,并且将跟随期望的重力属性。