2013-02-25 139 views
18

我是Android的新品牌,我使用Eclipse ADT創建了一個簡單的應用程序。此應用程序有一個按鈕,可以根據用戶的點擊更改其背景圖像。Android - 將圖像添加到項目

我注意到我的項目中有4個文件夾用於圖像:drawable-hdpi, drawable-ldpi, drawable-mdpi, and drawable-xhdpi

我也注意到,目前在那裏的圖像(發射器圖標)都是不同的大小。

這是否意味着我必須使用一些圖像編輯軟件爲每個圖像的每個分辨率創建一個圖像?或者(希望)有沒有辦法導入圖像,並自動爲我完成?

謝謝!

回答

45

圖像和其他視覺文件存儲在一個或多個可繪製目錄中。如果只在一個目錄中,Android會根據需要縮放圖像。如果使用多個目錄,則Android將選擇適當大小的圖像。

  • 抽拉-LDPI - 低濃度的圖像
  • 抽拉-MDPI - 中等密度圖像
  • 抽拉-HDPI - 高密度圖像
  • 抽拉-xhdpi - 額外的高密度圖像(即視網膜狀顯示)
  • 抽拉-xxhdpi - 額外額外高密度圖像(如Nexus 10的設備,三星Galaxy S4,HTC One和索尼的Xperia Z)
  • 抽拉-xxxhdpi - 三額外高密度圖像(Nexus 6 and 9

(注意:XML文件也可以作爲繪圖書寫和存儲。這些類型的文件可以控制何時根據視圖狀態或其他視覺設置(如漸變,邊框等)使用多個圖像)

那麼,你應該做什麼

爲了達到最佳效果(從Android developer docs):

生成這些圖片,你應該在矢量格式的原始資源開始並用下面的大小規模爲每一個密度圖像:

  • xxxhdpi:4.0
  • xxhdpi:3.0
  • xhdpi:2.0
  • HD PI:1.5
  • tvdpi:1.33(只有電視)
  • MDPI:1.0(基線)
  • LDPI:0.75

這意味着,如果您生成xhdpi設備一個200x200的圖像,你應該產生hdpi爲150x150,tvdpi爲133x133,mdpi爲100x100,最後是ldpi設備的75x75圖片。

如果你只是想用一個圖像,然後讓Android規模爲您提供:Android設備的

超過75%現在有華電國際或更高的分辨率,根據Dashboard on the Android Developer site。因此,例如,如果您在hdpi上創建一個圖像,它將在大約三分之一的設備上看起來很完美,可以放大一些,然後縮小約25%的設備。總的來說,我認爲你的擴大規模比擴大規模更好。

+1

非常感謝。很好的回答:) – 2013-02-25 01:56:24

+1

謝謝!我最近研究了這個問題。 – 2013-02-25 01:59:48

+0

我有20張圖片。他們每個人都是100x100px。我想這意味着我必須創建60多個圖像,其他3個密度各一個。你能推薦一個程序來簡化這項任務嗎?我使用paint.net,但它不做批處理。 – 2013-02-25 02:00:36

3

這是否意味着我必須使用一些圖像編輯軟件爲每個圖像的每個分辨率創建一個圖像?或者(希望)有沒有辦法導入圖像,並自動爲我完成?

如果你已經有圖像的高分辨率源(或矢量圖形格式),可以使用Android Asset Studio來從自己的源圖像圖標/圖像進行密度(減xxhdpi)。您還可以創建默認Android剪貼畫中的圖標/圖像,該圖像可以以各種版本的Android爲主題。這將爲您節省一些圖像編輯工具調整大小和保存的麻煩。

+0

不錯,我會結賬android資產工具吧! – 2013-02-25 02:04:21

+0

該工具將在其創建的圖像(即image.9.png)中附加「.9」。當調用drawable時,只需使用「image」(同時跳過「.9」和擴展名)。試圖弄清楚這一點花了一些時間。 – TekiusFanatikus 2015-01-25 13:04:53