1

我構建了一個Android平板電腦應用程序,並試圖弄清楚如何讓系統選擇正確的資源。Android SDK - 選擇正確的資源

我理解文檔中描述的概念。對於不同密度的ldpi,mdpi,hdpi等,有許多不同的資源文件夾...... - 但有沒有辦法讓系統根據設備的分辨率選擇資源?在佈局文件夾結構中,可以使用layout-sw600dp指定最小寬度。有沒有類似的資源機制?有幾種設備被認爲具有不同分辨率的中等密度。理想情況下,我想爲分辨率定義資源,並且比像素密度更具靈活性。

我也嘗試使用內置在擴大,但它似乎並沒有與我的Nexus 7的資源而設計的更高的分辨率似乎並沒有縮小在所有的工作。也許我做錯了什麼。

謝謝。

回答

0

我不是100%肯定我正確地讀你的問題,但可以後綴與目標說明符res/文件夾的子文件夾的任何。所以不僅僅是res/layout-sw600dp,還有res/drawable-sw600dpres/values-sw600dp。這些規則可以合併,因此res/values-sw600dp-mdpi也可以工作。

還要注意的是,Android的SDK文檔是在這方面有點片狀。培訓部分解釋了a neat trick using resource aliases,它可以幫助您避免複製粘貼布局XML,但API指南和參考文檔從不提及它,因此很容易被忽略。

+0

有道理。我在某個時候嘗試了這一點,我只是沒有爲我正在測試的設備提供正確的參數。所有Android顯示器的不同配置在SDK中都很棘手。 Nexus 7也被稱爲1280x800,但似乎運行在800x1280。我不確定這是否會引發事情的糾結。 – Londo 2013-05-06 00:42:42

0

你可以,你可以專門文件夾名就是這樣,繪製-800×480,但要確保更大的價值將成爲第一個(800在這種情況下)