我對這些目錄中的每一個都有一個粗略的概念,但我對這個概念並不十分清楚,並且我有一些具體問題。解釋drawable,drawable-ldpi,drawable-mdpi和drawable-hdpi之間的區別
例如,每個目錄的目標DPI是什麼?當你創建一個資產時,它應該在那個目標DPI上嗎?還是應該在更普通的72dpi screen DPI上?如果您的目標是多個設備,是否可以將PNG繪製爲可繪製的,或者您是否總是針對特定屏幕定製多個版本?
謝謝。
我對這些目錄中的每一個都有一個粗略的概念,但我對這個概念並不十分清楚,並且我有一些具體問題。解釋drawable,drawable-ldpi,drawable-mdpi和drawable-hdpi之間的區別
例如,每個目錄的目標DPI是什麼?當你創建一個資產時,它應該在那個目標DPI上嗎?還是應該在更普通的72dpi screen DPI上?如果您的目標是多個設備,是否可以將PNG繪製爲可繪製的,或者您是否總是針對特定屏幕定製多個版本?
謝謝。
正如其他人所說,Android的在線文檔對這個偉大的文章。但是,我將嘗試在此列出一些快速且有用的提示:
1
。然後,LDPI是0.75
,HDPI是1.5
。這意味着如果在MDPI屏幕上有一個可繪製的圖案,例如50x50
,則它必須在LDPI屏幕上爲~37x37
,在HDPI屏幕上爲75x75
,爲了在物理尺寸大致相同的情況下顯示每個屏幕(如果您在屏幕上放置標尺,則爲2釐米)。此外,您的電腦屏幕是最有可能 MDPI,這就是爲什麼它建議先從MDPI drawables,然後調整它們:物理大小的可繪製將非常接近你的電腦屏幕和MDPI Android設備之間。如果您在計算機和HDPI設備上查看可繪製的HDPI,您將注意到它在電腦屏幕上變大了(再次,物理 - 放置了一個標尺)。ListView
可以在MDPI設備上顯示5個項目,它可能能夠在HDPI設備上顯示6個項目,儘管事實上ListView
項目具有相同的密度獨立性(即,HDPI的1.5倍在MDPI)高度。我可能有點偏離主題,但這些都是我通過猛撞我的頭腦來對付他們的情況。只是想拯救別人的頭痛:)
這可能會有所幫助:http://blog.blundell-apps.com/list-of-android-devices-with-pixel-density-buckets/ – Blundell 2012-06-05 16:40:27
感謝@Felix的清晰解釋。我讀過很多其他帖子,但無法理解!這對我來說真的很清楚! – 2013-12-14 00:03:28
要添加到您的第一點,XHDPI是'2'而XXHDPI是'3'。因此,以MDPI屏幕上的50x50可繪製爲例,它必須在XHDPI屏幕上顯示爲「100x100」,在XXHDPI屏幕上顯示爲「150x150」。 – Nick 2014-01-08 16:17:21
很抱歉,但Android已經有例子一個偉大的在線文檔,這樣對這類問題的回答是:
http://developer.android.com/guide/practices/screens_support.html
有每個文件夾沒有確切的DPI值。每個文件夾都與某個範圍有關。請參閱:http://developer.android.com/guide/practices/screens_support.html
這些目錄必須包含爲某些屏幕密度優化的可繪製資源。您可以只保存一個HDPI或其他任何可繪製的畫布,但在具有其他DPI設置的設備上,圖像將以某種方式調整大小,並且需要時間/資源。具有HDPI的設備的低DPI圖像看起來很差。
由於屏幕尺寸和分辨率不同,Android可讓您根據文件夾排列可繪製圖像。高dpi顯示圖像應放置在hdpi中,並且類似於mdpi和ldpi。如果操作系統與任何dpi類別不匹配,或者在特殊dpi目錄中找不到資源,系統將從drawables目錄中選擇資源,則drawable的默認文件夾是可繪製的。
尺寸並不精確,但高達130dpi它被認爲很小,從130到180它可以被認爲是mdpi,從180到200它可以被認爲是hdpi而較高被歸類爲xdpi。
http://developer.android.com/guide/practices/screens_support.html
我希望有更多的東西比文檔的鏈接。我已閱讀/瀏覽了screen_support文檔,但我仍然有上面的具體問題。 – 2011-06-16 14:16:17