2011-03-14 72 views
8

我有各種不同像素密度的全套圖像,我需要將位圖資源放入drawables文件夾(在MDPI中)以用作默認資源(以防止在我沒有照顧到的像素密度設備上發生崩潰例如xhdpi),但這意味着將drawable-mdpi中的資源複製到可繪製文件夾中。使用drawable文件夾中的默認資源(MDPI大小)drawable-mdpi文件夾的重點是什麼?

因此,作爲複製顯然是不好的,我不知道我是否應該只是刪除繪製-MDPI文件夾,並把我的MDPI資源中(默認)繪製的文件夾

還是我失去了一些東西?

回答

15

您不需要複製資源。一個好的做法是執行以下操作: - 將所有非基於圖像的可繪畫放入res/drawable /(例如所有的XML可繪製) - 將所有基於圖像的可繪圖(圖像和9-補丁)放入res/drawable -mdpi,res/drawable-hdpi等

+0

Merci Romain。因此,對於drawable-ldpi/mdpi/hdpi中的圖像,繪圖本身沒有位圖,應用程序不會在xhdpi設備上爆炸,還是會擴大hdpi位圖?我認爲在可繪製文件夾中需要默​​認位圖(以MDPI比例) – 2011-03-14 18:29:25

+0

我很想將這些xml資源與圖像資源分開,但是,根據我的理解,如果您支持ldpi設備,則無法執行此操作只有mdpi優化的資源。如果我們放棄ldpi支持,那麼我們可以。 – 2012-09-12 22:48:44

+0

我不同意。在我看來,如果他們引入像xxhdpi這樣的新格式,這將不起作用。我需要時刻關注並注意新格式。如果繪圖中沒有默認圖像,則由於缺少資源,應用程序會在xxhdpi上崩潰。 – Bevor 2013-05-01 07:57:52

1

我想說的是,顯然Romain傢伙是正確的使用drawables保持xml文件,然後將圖像資源移動到相關的mdpi,hdpi和ldpi文件夾中,唯一一次我反對的是當你想要瞄準1.5個設備。

原因是因爲1.5沒有識別-hdpi,-mdpi和-ldpi標記,它忽略它們並從每個文件夾中選取資源(看似隨機),所以您必須添加以下標誌-hdpi-v4,-mdpi-v4,-ldpi-v4,這會讓這些文件夾可以被1.6以上的Android版本訪問,強制1.5只能看到可繪製文件夾,此時你需要將所有資源都繪製成可繪製的,然後刪除需要有drawable-mdpi文件夾。

不過,由於1.5版本稍微有點用,而且這麼少的設備都有這個功能,所以以1.6+爲目標並忽略這一複雜因素更有意義。

+0

讓我感到困惑的是,對於一些drawables在hdpi文件夾中只有一個位圖,應用程序被炸燬,稱它找不到資源。我創建了mpdi和ldpi版本,所以一切正常,但似乎很奇怪,Android不會選擇最接近的圖像並對其進行縮放。 – 2011-04-19 08:18:35

相關問題