2013-03-14 109 views
5

我有兩個佈局文件夾layout-sw600dp 7英寸平板電腦(1024X600)mdpi和另一個名稱layout-xlarge 12英寸平板電腦(1280X800)mdpi。問題是,當我運行我的項目7 「模擬器它從layout-xlarge文件夾而不是layout-sw600dp圖片佈局。我還嘗試了其他解決方案,通過更改不同站點中給出的文件夾名稱,但找不到適合我的問題的解決方案。請爲我提供解決此問題的解決方案。提前致謝。佈局7「平板電腦的文件夾名稱

回答

9

這裏要記住的是,使用swXXXdp資源標識符僅適用於運行Android 3.2+(即添加時)的設備。舊設備無法識別,因此不會使用這些標識符,因此如果您打算支持運行Android的平板電腦3.2.3,則必須使用舊標識符(small,normal,large,xlarge)。截至目前,只有0.3%的平板電腦運行Android 3.1(API 12),因此,不完全支持它們的安全呼叫 - http://developer.android.com/about/dashboards/index.html

有一個很好的博客解釋如何使用這些新的資源標識符。 http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html

爲了您的具體問題,假設你只有支持的Android 3.2+平板電腦上的佈局,您layout-xlarge文件夾更改layout-sw720dp支持10「+平板電腦,以及layout-sw600dp將支持7」平板電腦佈局。

+0

史蒂文Byle先生非常感謝我將我的模擬器API級別更改爲13,它的工作。當我在Nexus(7.27「)中運行我的項目時會出現一些問題,因爲它也使用layout-w600dp,但其分辨率爲tvdpi(800X1280),所以某些UI元素無法正常顯示。 – 2013-03-15 05:44:14

1

佈局文件夾的選項很大。您不僅可以指定諸如layout-land/layout-large之類的東西,還可以指定它們的混合物,如layout-large-land/layout-xhdpi-land/。你可以看到所有的限定符here at Android Developers

對於您的問題,請檢查您的平板電腦模擬器的尺寸是否具有正確的屏幕分辨率。您可以在創建AVD時指定特定的屏幕分辨率。此外,當指定layout-sw600dp/時,它會檢查當前正在運行的活動的實際可用寬度的寬度。例如,在運行4.2的平板電腦上,系統欄使用約50dp的屏幕底部,如果不是全屏,則有一部分用於頂部操作欄。這些會將實際的dp降低到600以下。

+0

謝謝你,先生。它的工作.. – 2013-03-15 06:01:28