どのように私は特定の画面サイズを報告するアンドロイドエミュレータを取得するのですか?

私はHTCフライヤーをエミュレートしようとしており、そのために、私はエミュレータが「大」スクリーンサイズとして自己報告する必要があります。私は解像度と正しいdpiを指定しましたが、 "xlarge"と報告します。アンドロイドのドキュメント( http://developer.android.com/guide/practices/screens_support .html#range )は、 "xlarge"にする必要があるが、HTC Flyerデバイスでは "large"と指定しています。いくつかの番号を持つデバッグ出力をいくつか示します:

flyer device 

DisplayMetrics{density=1.0, width=600, height=1024, scaledDensity=1.0, xdpi=169.99738, ydpi=169.33333}, densityDpi, 160, density, 1.0, screen size, large,

flyer emulator

DisplayMetrics{density=1.0, width=600, height=1024, scaledDensity=1.0, xdpi=160.0, ydpi=160.0}, densityDpi, 160, density, 1.0, screen size, xlarge,

「画面サイズ」に注意してください。それ以外はすべて同じですが、デバイスは "large"とエミュレータ "xlarge"を報告します。代わりに、エミュレータのレポートを「大」にする方法はありますか?

ここに私に出力を与えたJavaがあります:

 DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);
    int screenLayout = getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK;
    String screenLayoutStr;
    switch (screenLayout){
        case Configuration.SCREENLAYOUT_SIZE_SMALL:
            screenLayoutStr = "small";
            break;
        case Configuration.SCREENLAYOUT_SIZE_NORMAL:
            screenLayoutStr = "normal";
            break;
        case Configuration.SCREENLAYOUT_SIZE_LARGE:
            screenLayoutStr = "large";
            break;
        case 4:
            screenLayoutStr = "xlarge";
            break;
        default:
            screenLayoutStr = "unknown: " + screenLayout;
    }
    LogIt.d(this,metrics,"densityDpi",metrics.densityDpi,"density",metrics.density,"screen size",screenLayoutStr);
4
正直言って、私はそれを設定する方法がわからないし、それがサイズの要因であるようには思われません。私が間違っていない限り。
追加された 著者 browep,
x/ydpi数の違いが違いはありませんか?私は169.xxと160.0を見ている
追加された 著者 Craigy,

答えはありません

0