Android背景图像比容器大
问题描述:
我们开始开发来自iOS开发的Android应用程序,并且难以处理背景图像。Android背景图像比容器大
我们有一个1024 x 1200的背景图像,我们希望水平和顶部对齐的视图居中。我们不希望缩放图像,但希望图像溢出/剪切,以便它在视图中正确放置。像你一样会用CSS background-position来实现:top center;
我们尝试了一些方法,但总是得到缩放图像。 setScaleType(),setAdjustViewBounds(),通过LayoutParams设置重力等各种组合都没有成功。我们现在有点卡在下一步尝试。
这个想法是,我们可以使用一个图像的多个屏幕大小,而不必调整图像大小(我们将有2或3这些图像的屏幕大小/密度范围)。这是为了减少我们需要覆盖所有android屏幕可能性的这些图像的数量。
克雷格
答
创建层列表:
在该层列表层背景(所希望的颜色的实心矩形),并且将图像作为位图标记(此位图标记将防止缩放)并设置图像的所需重力。确保将图像作为图层列表中的最后一个项目,因为它从下到上排列。然后将此可绘制设置为背景。
这将具有一个彩色背景,在情况下,从某些原因,图像不填充整个屏幕,并且图像将不会被缩放,并且将跟随期望的重力属性。
它可能不是解决您的问题,但如果你已经设置的'background'属性你的形象,scaletypes将无法正常工作。如果你想使用它们,你需要一个'ImageView',并在'src'属性中设置图像。 – Jave 2012-01-03 10:48:38
基本上,你想要的是一个ImageView的,在scaletype设置为centercrop和顶部| CENTER_HORIZONTAL为layout_gravity。 – Jave 2012-01-03 10:50:06