Android layout 使用可用的屏幕宽度限定符支持3种不同的屏幕尺寸<;N>;数据处理

Android layout 使用可用的屏幕宽度限定符支持3种不同的屏幕尺寸<;N>;数据处理,android-layout,screen-size,android,sony-xperia,Android Layout,Screen Size,Android,Sony Xperia,布局自动开关对于我的2台设备的2个布局工作正常,但对于第三台设备则不行 我有两部Android手机(我的假设是ppi和dpi在这里是一样的) HTC Desire-(480x800;252 dpi;安卓2.2) HTC Sensation-长边>600dp(540x960像素;256 dpi;安卓4.0.4) 索尼Xperia Z-长边>690dp(1080x1920像素;443dpi;安卓4.2.2) 因此,我创建了以下布局来处理3部手机的屏幕(我没有使用最小可用宽度swdp限定符,因为我

布局自动开关对于我的2台设备的2个布局工作正常,但对于第三台设备则不行

我有两部Android手机(我的假设是ppi和dpi在这里是一样的)

  • HTC Desire-(480x800;252 dpi;安卓2.2)
  • HTC Sensation-长边>600dp(540x960像素;256 dpi;安卓4.0.4)
  • 索尼Xperia Z-长边>690dp(1080x1920像素;443dpi;安卓4.2.2)
因此,我创建了以下布局来处理3部手机的屏幕(我没有使用最小可用宽度
swdp
限定符,因为我的应用程序只支持横向视图;因此,我只关心屏幕的较长尺寸)

/res/layout/main.xml
布局正确显示HTC Desire,而
/res/layout-w600dp/main.xml
显示HTC Sensation,但没有显示Xperia Z(
/res/layout/main.xml
而不是
/res/layout-w690dp/main.xml

我错过什么了吗

我的应用程序的目标是安卓4.0(所以我只看安卓3.2及以上版本的屏幕大小限定符)

我想在运行时检查屏幕大小,然后选择适当的布局,但在这种情况下,将使用限定符,不是吗

目前我的manifest.xml:

...
<uses-sdk android:minSdkVersion="8"
        android:targetSdkVersion="14" />
    <supports-screens
            android:smallScreens="true"
            android:normalScreens="true" 
            android:largeScreens="true"
            android:xlargeScreens= "true"
            android:anyDensity="true" />
...
当我运行我的应用程序时,HTC Sensation仍然显示
/res/layout-w600dp/main.xml
布局,而Xperia Z仍然显示
/res/layout/main.xml


发生了什么事?

我在Xperia Z上使用了w500dp land作为景观的屏幕大小限定符。这至少是可行的,而w600dp land被忽略了。检查设备是否有意义后:
Xperia Z的dp尺寸为360*592,根据

可以检查Xperia Z的dp乘数吗?谢谢@Pork,我已经验证了手机屏幕的尺寸并更新了我的问题。你知道我怎么解决这个问题吗??
...
<uses-sdk android:minSdkVersion="8"
        android:targetSdkVersion="14" />
    <supports-screens
            android:smallScreens="true"
            android:normalScreens="true" 
            android:largeScreens="true"
            android:xlargeScreens= "true"
            android:anyDensity="true" />
...
/res/layout/main.xml
/res/layout-w600dp/main.xml