2013-03-12 38 views
-2

我是新來的android和我只有一個查詢有關可繪製的概念: - 「如果我把我的項目的所有圖像全部 - Drawable-hdpi,Drawable-mdpi,Drawable-ldpi做圖像提取將根據屏幕尺寸和密度自動完成「。 或者它沒有任何意義使所有繪圖的圖像的多個副本.. ??可繪製的概念問題

+1

Android會自動做到這一點,否則爲什麼我會甚至不提供這樣的概念? – SudoRahul 2013-03-12 15:58:31

回答

0

http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources。鏈接中的android文檔提供了有關爲drawable提供備用資源的詳細信息。

我還發現了一個鏈接,答案接受了這個主題很好的解釋。 Explain the difference between drawable, drawable-ldpi, drawable-mdpi and drawable-hdpi

繪圖是由android根據屏幕大小和密度提取的。 如果您沒有爲每個密度提供特殊的drawable,Android會自動縮放最近的一個。縮放某些設備上的繪圖可能看起來很奇怪。所以最好根據屏幕尺寸和密度提供不同的繪圖。

0

概念是這樣的: Android可以根據屏幕大小和像素密度對圖像進行放大/縮小,但它可能並不完美,而且這個過程耗費了計算能力。 如果您正在使用照片編輯程序來創建較小/較大的照片正確就像您希望它看起來一樣,您將獲得更好的效果,並且您可以更快地獲得它們。

0

是這就是它的工作原理如何根據屏幕大小,他們將獲取,有一個圖形化的資產不同的方法取決於你如何設計你的應用程序,這裏是不同的文件夾中的計算:

xlarge screens are at least 960dp x 720dp 
large screens are at least 640dp x 480dp 
normal screens are at least 470dp x 320dp 
small screens are at least 426dp x 320dp 
Generalised Dpi values for screens: 

ldpi Resources for low-density (ldpi) screens (~120dpi) 
mdpi Resources for medium-density (mdpi) screens (~160dpi). (This is the baseline density.) 
hdpi Resources for high-density (hdpi) screens (~240dpi). 
xhdpi Resources for extra high-density (xhdpi) screens (~320dpi). 
Therefore generalised size of your resources (assuming they are full screen): 

ldpi 
Vertical = 426 * 120/160 = 319.5px 
Horizontal = 320 * 120/160 = 240px 
mdpi 
Vertical = 470 * 160/160 = 470px 
Horizontal = 320 * 160/160 = 320px 
hdpi 
Vertical = 640 * 240/160 = 960px 
Horizontal = 480 * 240/160 = 720px 
xhdpi 
Vertical = 960 * 320/160 = 1920px 
Horizontal = 720 * 320/160 = 1440px 

px = dp*dpi/160 

同樣,如果您使用opengl或surfaceview或類似的東西繪製屏幕,​​您可以在資產文件夾中製作一個圖像副本,並在繪製時拉伸到屏幕,然後將圖標存儲在可繪製文件夾中,這取決於如何使用不同方法你設計你的應用程序是什麼即時通訊試圖說