我正在開發一個Android應用程序和我想使用圖像作爲活動的背景。我將API 8定位到最新版本。我想知道什麼是最好的方法來做到這一點。支持所有屏幕尺寸和Android版本
我讀過Supporting Different Screen Sizes和Supporting Multiple Screens。
所以,我爲這個尺寸的每個背景製作了4張圖片:320x480,480x800,600px,800x1280。首先,我將這些文件分別放在這個文件夾中:drawable-sw320dp, drawable-sw480dp, drawable-sw600dp, drawable-sw720dp
。然後,我意識到這隻適用於Android 3.2及更高版本,所以我需要添加小,普通,大和xlarge文件夾。爲了不重複文件,我遵循了this section of the first article的想法。
最終結構是:
- 的
drawable
文件夾內的所有圖像,以針對每個維度 - XML文件不同的名稱中的每個這種文件夾:
values-sw320dp, values-sw480dp, values-sw600dp, values-sw720dp, values-small, values-normal, values-large, values-xlarge
例如,爲我主要活動的背景:
drawable\bg_main_320.png
drawable\bg_main_480.png
drawable\bg_main_600.png
drawable\bg_main_720.png
在上面提到的八個文件夾
- 和
drawables.xml
。
的drawables.xml
爲values-sw480dp
和values-normal
文件夾中的內容是:
<resources>
<item name="bg_main" type="drawable">@drawable/bg_main_480</item>
</resources>
我的Android 2.3.7和4.0.3測試這一點,它是工作的罰款。但是,我對每張圖像都得到了這個Lint警告:「在無密度文件夾中找到位圖可繪製res/drawable/bg_main_480.png問題:確保圖像未在密度獨立的可繪製文件夾中定義。我知道它是什麼意思,但我不會繼續爲每個dp創建更多的圖像,因爲它毫無意義。
我正在使用的結構是否正確?你有什麼建議?
Lint幫助說:「如果圖標真的是密度獨立的(例如純色),您可以將它放在drawable-nodpi中。」所以,我不確定使用該文件夾是否正確。無論如何,我用的是正確的結構嗎? (尺寸和文件夾) – IvanRF 2013-02-11 15:51:58
它看起來可以工作,但您必須用各種設備形狀因素來測試。你絕對需要這樣使用圖像嗎?如果有任何方法可以使用九幅圖像或平鋪圖像,則可以讓您的生活更輕鬆。 – Karakuri 2013-02-11 15:58:01
感謝您的回答。現在,我將把圖像移動到/ res/drawable-nodpi。也許,在未來,我會想辦法用更復雜的可繪圖來重建圖像。 – IvanRF 2013-02-11 19:25:23