Android资源不长/长标识符不工作



当前我有以下资源文件夹:
1.布局-sw600dp
2.布局-sw600dp-超长

我们的想法是,我们有3种类型的设备,这些设备应该相应地使用正确文件夹中的资源。这些设备是:
1.三星Galaxy Tab 10.11280 X 800 mdpi。16/10
2.华硕变压器TFT 1011280 X 800 mdpi。16/10。
3.一种普通片剂,800 X 600 ldpi。4/3.

问题是,所有3个设备都使用layout-sw600dp-notlong中的资源。据我所知,4/3被归类为-notlong设备。

我的标识符使用有什么问题吗?或者标识符报告了一个错误?

提前感谢。

根据源代码。(framework/base/core/java/android/content/res/Configuration.java)

        // Is this a long screen?
        if (((longSizeDp*3)/5) >= (shortSizeDp-1)) {
            // Anything wider than WVGA (5:3) is considering to be long.
            screenLayoutLong = true;
        } else {
            screenLayoutLong = false;
        }

因此,如果纵横比大于3:5(或1.667),它将被视为长屏幕。

"notlong"标识符用于纵横比与基线设备相似的设备(请参阅http://developer.android.com/guide/practices/screens_support.html)。虽然关于基线设备的文档很少,但Android设备的典型分辨率为1.5~1.6。所以你看到的是正确的。

虽然比基线比率长的设备有一个"长"标识符,但看起来你不能为更短的设备(例如800x600)强制使用资源。

你读过这个文档吗?http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts

相关内容

  • 没有找到相关文章

最新更新