2012-08-10 78 views
0

我有一個iOS應用程序,在我嘗試移植到Android的每個屏幕上使用獨特的紋理背景(想象遊戲標題屏幕或其他)。在iOS上,他們知道解決方案,並只是設計了這些背景的背景。顯然這在Android上是不可能的。Android非重複紋理背景

將紋理/不可重複背景放入Android的最佳方式是在各種屏幕尺寸和寬高比下工作?

我已經想到了到目前爲止的解決方案是:

  1. 適合最短的尺寸和允許圖像去關閉屏幕的邊緣的較大尺寸
  2. 使背景圖像大和中心然後當分辨率小於圖像時,使其伸展超出邊緣
  3. 拉伸圖像以適合(這是醜陋的,我想避免它)
  4. 創建不同版本的圖像爲每個決議。 (這似乎超出了這個項目可能的範圍)

據我可以告訴Android,1.和2.是不可能的,因爲背景圖像設置大小的視圖來匹配它們的大小(你不能說它只是超越邊緣,如果我錯了,請糾正我)。

你會在這種情況下使用什麼解決方案?

回答

1
  1. 使用(match_parent)ImageView來模擬背景圖像。 (通過調整imageview的縮放類型,可以得到點1,2的結果) http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

  2. 使用9-補丁圖像。您可以指定圖像的哪部分可以拉伸。對於你的情況,我建議在你的圖像中添加一個小的「邊距」,並使用9貼片進行拉伸。只有邊緣會被拉伸,從而保持圖像的高寬比。 android developer 9-patch

+0

這聽起來很合理。背景圖像看起來相當有限,但使用imageview作爲代理背景似乎是一個很好的替代品。謝謝。 – Dylan 2012-08-10 03:33:02

1

爲每個分辨率創建圖像的不同版本。

正如你可能知道的,Android可以運行在具有不同分辨率和屏幕密度的各種設備上。爲了完全兼容所有這些需要一些圖形工作;您需要每種可能的屏幕密度資源(在這種情況下,分辨率)。

有關完整的詳細信息,請參閱Android開發人員文檔中的Supporting Multiple Screens

除非在開發過程中出現嚴重錯誤,否則在創建這些資源時應該使用原始文件(例如.psd)。

+0

我們有這些文件,但我們沒有可悲的預算。我希望有一種方法可以讓工作量減少80%。 – Dylan 2012-08-10 03:31:36