2012-01-04 59 views
0

我有關於Android屏幕/ DPI /分辨率獨立性的一些常見問題。Android DPI獨立於具有相同分辨率的設備

基本上,我正在考慮基於精靈的應用程序,例如基於Surfaceview的應用程序。

我讀過的每本指南(包括官方指南)都表示,您只應使用新聞部而不是解決方案。

但是,當兩個設備具有不同的DPI /屏幕尺寸但分辨率相同時會發生什麼?以Galaxy Tab 10.1(1280 x 800 - DPI aprox 150)和Galaxy Note(1280 x 800 aprox 285 DPI,我認爲??)

當在每個顯示一個50 x 50的精靈時,看起來與屏幕尺寸相同。但是,如果Android抓住差異尺寸精靈,因爲它檢測到不同的DPI(即,來自LDPI,HDPI等),則相對於屏幕尺寸,精靈在筆記上看起來會比在標籤上更大。

任何人都可以請直接對我這個,因爲我只是不能解決它!謝謝大家。

+0

您是否閱讀過支持多屏幕的開發指南?它解釋瞭如何爲不同的可繪製資源規劃圖像大小,並解釋Android如何根據屏幕大小和密度來推廣不同設備。 http://developer.android.com/guide/practices/screens_support.html – Squonk 2012-01-04 02:03:04

回答

3

150dpi屏幕上的50 x 50精靈將出現比285dpi屏幕上的50 x 50精靈大很多。 Android的資源分辨率算法旨在允許您定義更大(以像素爲單位)的圖像以用於更高密度的屏幕。

如果你想同樣大小相對精靈是屏幕無論是像素密度,那麼你可以把圖像在drawable-nodpi文件夾中,他們將不會被系統縮放。查詢屏幕大小後,您甚至可以決定在代碼中使用哪個大小的圖像。 (截至3.2,您可以擁有資源文件夾,這取決於屏幕像素大小,但我認爲它們仍然可以按dpi進行縮放。)

屏幕分辨率是指以像素爲單位的屏幕尺寸。像素密度是指填充一英寸屏幕需要多少像素。

+0

謝謝特德。如果我在選項卡上使用50x50圖像,並在註釋上使用50x50,則相對大小將相同,這就是我的效果,我不知道drawable-nodpi文件夾,所以謝謝!但是,我仍然希望爲不同的分辨率使用不同尺寸的圖像。 (也就是說,如果我在800x480屏幕上使用50x50,它會顯得太大(相對於屏幕),所以是否有類似於DPI的分辨率特定文件夾?我應該將文件夾命名爲「小」,「正常」, 'large'和'xlarge' - 我沒有意識到這些可能包含資源文件,總是認爲它們是用於佈局的!謝謝 – 2012-01-04 23:10:06

+0

@PaulButt - 你可以使用任何類型資源的資源類型限定符,也可以將它與像素密度(或其他屬性),所以你可以有'drawable-large-hdpi'和'drawable-large-mdpi'。這是如何工作的以及這樣做的規則在這裏被描述[http:// developer.android.com/guide/topics/resources/providing-resources.html)。從3.2開始,有更好的方法來定位屏幕尺寸,如[這裏]所述(http://developer.android.com/guide/) practice/screens_support.html#DeclaringTabletLayouts)。 – 2012-01-05 01:37:21

+0

非常感謝! – 2012-01-05 23:44:40

相關問題