2011-12-06 81 views
0

我只是想澄清,在Android中的res文件夾與較低分辨率的設備,他們自動從ldpi文件夾中獲取相同的命名資產?這樣我可以爲小屏幕製作不同的資產?Res文件夾和dpi?

我是否需要在所有4個文件夾(ldpi - xhdpi)中擁有資產才能在所有大小的設備上工作?或者,如果所有設備的資產都相同,我可以在一個文件夾中擁有資產嗎?

如果我的資產僅適用於低分辨率設備,我需要對每個其他文件夾的內容進行鏡像,以便它們都具有相同的資產嗎?

回答

1

我建議閱讀this article徹底得到它究竟是如何工作的理解,但基本上,它會找到最匹配的大小的資源可用,所以沒有,你並不需要在所有文件夾的必然反映。

the qualifiers section particularly,這個引用很好地解釋了它。

注意的是,當Android系統的選秀權,其資源在 運行時使用,它採用一定的邏輯來determing「最佳匹配」 資源。也就是說,您使用的限定符在所有情況下都不必完全匹配 當前的屏幕配置,以便系統 可以使用它們。具體來說,如果基於 限定符的大小選擇資源,則系統將使用爲比當前屏幕小的屏幕 設計的資源(如果沒有更好的 匹配的資源)(例如,大尺寸屏幕將使用正常大小如果需要,可以使用屏幕 資源)。但是,如果唯一可用資源大於當前屏幕的 ,則系統將不會使用它們,並且如果沒有其他資源與設備 配置匹配(例如,如果所有佈局資源都標記爲 xlarge限定符,但該設備是一個正常大小的屏幕)。有關 的更多關於系統如何選擇資源的信息,請閱讀Android如何找到最佳匹配資源 。

0

讓我們把你的問題分成三個單獨的問題。

我只是想澄清,在Android上的資源文件夾,以較低的分辨率 設備,他們自動獲得來自 的LDPI文件夾名稱相同的資產?這樣我可以製作更小的 屏幕的不同資產?

很簡單,是的。這就是系統的用途。只要您使用同名的資產,Android會根據屏幕的dpi自動選擇最適合您設備的資產。

我需要在所有4個文件夾(ldpi - xhdpi)中擁有資產嗎? 適用於所有大小的設備?或者,如果 所有設備的資產都相同,我是否可以在一個文件夾中擁有資產?

你並不需要在所有文件夾中的資產有它的所有設備工作。但是,如果您希望工作良好,則您將需要所有文件夾中的資產,所有文件夾都有自己的尺寸,具體取決於文件夾。如果您只使用一個文件夾與一個大小的資產,它仍然會工作。您的資產只能通過Android本身進行擴展,這可能會導致某些資產在某些較高/較低dpi設備上顯得非常難看。更不用說縮放會導致整個佈局混亂的事實。

如果我的資產是什麼只對低分辨率設備不同,我 需要互爲鏡像其他文件夾的內容,所以他們都 具有相同的資產?

「對於低分辨率設備,只有不同」,你的意思是整個資產是不同的?例如,一個藍色的圖像,而不是一個紅色的?如果是這樣,您仍然需要使用與名稱相同的作爲其他文件夾中的資產。實際內容可能不同,操作系統僅在抓取資產時檢查名稱。

有關如何支持多種屏幕尺寸,給該指南一試的詳細信息:

http://developer.android.com/guide/practices/screens_support.html