2012-07-02 68 views
2

赤裸裸的layout資源目錄根據文檔,Android OS解釋爲layout, normal, mdpi。如果我創建一個新的項目,讓這樣的佈局結構:爲什麼存在layout和normal-mdpi不會產生編譯時錯誤?

/res/ 
    /layout/ 
    /layout-normal/ 

OR

/res/ 
    /layout/ 
    /layout-normal-mdpi/ 

我沒有得到任何錯誤。爲什麼?

如果沒有錯誤,那麼我可以斷定,裸layout目錄normal, mdpi,但它是所有那些沒有明確設置,右側的佈局?所以它的目的總是可變的?!

在例子2中,如果我在normal, mdpi手機屏幕上加載內容,它會從裸機還是顯卡目錄加載?

在此先感謝任何人花時間爲我澄清這一點。

回答

4

該應用程序可能運行在不考慮/layout-normal-mdpi資源的設備上。然後它將回退/layout的資源。換句話說,/layout中的資源將用作沒有更多特定資源可用的任何配置的默認值。

說到drawables會更有意義。系統會將/drawable中的可繪圖從默認mdpi縮放到實際配置的密度。另一方面,/drawable-mdpi資源將專門用於mdpi配置。

+0

那是我害怕的。所以裸'layout'不是'layout-normal-mdpi'。這只是默認設置。我對嗎? – sandalone

+1

@sandalone - 這只是所有配置的默認設置。 (就像'/ layout-large-mdpi'是所有語言中大型,mdpi屏幕的默認值一樣等等。)通過假設它們被指定用於大型mdpi屏幕,某些資源被縮放或調整爲實際配置。 –

相關問題