2012-12-29 24 views
0

我想區分佈局/可繪製以下兩個設備:Android不兌現LDPI預選賽

1) 7" hdpi 
2) 7" ldpi 

所以我用下面的合格目錄:

1) layout-sw600dp-hdpi/drawable-sw600dp-hdpi 
2) layout-sw600dp-ldpi/drawable-sw600dp-ldpi 

但是,當我運行一個7英寸的ldpi設備,屏幕大小爲480x764像素,然後Android(V4.0.3)選擇hdpi版本。爲什麼會這樣呢?當我閱讀文檔時,ldpi應該更合適。

當我刪除layout- sw600dp-hdpi/drawable-sw600dp-hdpi,它確實選擇了2)並且一切正常。但我也需要hdpi版本。

所以,我怎麼能區分7" 設備的LDPI/HPDI版本?

謝謝!

安德烈

回答

0

如果多個屏幕的簡化版,工作的支持,那麼你可以做到這一點手動:

創建的bool-LDPI,布爾變量,華電國際與標誌:

布爾變量,LDPI包含字段名稱爲 「lowDp」=真 級的bool,華電國際包含字段名稱爲「highDp」 =真等

在代碼中你做的if-else if-else語句:

if (getresource "lowDp") 
    ... 
else if (getresource "highDp") 
    ... 
... 
+0

這將是太多的工作。我希望能夠更輕鬆地解決Android的「最佳選擇」。 – Andrej

+0

嘗試將名稱:layout-sw600dp-ldpi更改爲layout-sw600dp,並將drawable-sw600dp-ldpi更改爲drawable-sw600dp。然後這些目錄將是默認的,並且對於指定的設備將使用其他目錄。 – RobertM

+0

嗨RobertM。我試過這個,但它不起作用。 Android仍然傾向於用「7」ldpi設備的-hdpi,這是Android的一個漏洞嗎? – Andrej

0

我再也找不到參考,但我認爲,我已經在某個地方閱讀時,您不應該在屏幕像素密度(ldpi,hdpi等)的同一時間使用smallestWidth(swdp)或Avilable width(wdp),並且此組合的結果是不確定的。

如果您針對不同的屏幕像素密度顯示不同的可繪圖,則應將它們放在自己的drawable-ldpi/icon.png或drawable-hdpi/icon.png中,與佈局參數分離,只保留這些版面庫的swdp術語。