2012-01-03 103 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

創建層列表:

​​

在該層列表層背景(所希望的顏色的實心矩形),並且將圖像作爲位圖標記(此位圖標記將防止縮放)並設置圖像的所需重力。確保將圖像作爲圖層列表中的最後一個項目,因爲它從下到上排列。然後將此可繪製設置爲背景。

這將具有一個彩色背景,在情況下,從某些原因,圖像不填充整個屏幕,並且圖像將不會被縮放,並且將跟隨期望的重力屬性。