11

現在、次のリソース フォルダーがあります
。1.layout
-sw600dp 2.layout-sw600dp-notlong

アイデアは、3 種類のデバイスがあり、デバイスはそれに応じて正しいフォルダーのリソースを使用する必要があるということです。デバイスは次のとおり
です。 1. Samsung Galaxy Tab 10.1、1280 X 800 mdpi。16/10
2. Asus Transformer TFT 101、1280 X 800 mdpi。16/10。
3. 一般的なタブレット、800 X 600 ldpi。4/3。

問題は、3 つのデバイスすべてが layout-sw600dp-notlong のリソースを使用することです。私の理解では、4/3 は -notlong デバイスに分類されます。

識別子の使用法に問題はありますか? または、識別子について報告されたバグがありますか?

少し早いですがお礼を。

4

3 に答える 3

23

ソースコードによると. (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) よりも広い場合は、長い画面として扱われます。

于 2013-07-29T23:30:51.380 に答える
8

「notlong」識別子は、アスペクト比がベースライン デバイスと類似しているデバイス用です ( http://developer.android.com/guide/practices/screens_support.htmlを参照)。ベースライン デバイスが何であるかに関するドキュメントは不足していますが、Android デバイスの一般的な解像度は 1.5 ~ 1.6 です。したがって、あなたが見ているものは正しいです。

ベースライン比率よりも長いデバイスには「長い」識別子がありますが、より短いデバイス (800x600 など) にリソースを強制することはできないようです。

于 2012-08-01T22:07:25.113 に答える
0

あなたはこのドキュメントを読みましたか? http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts

于 2012-08-01T04:25:27.620 に答える