web-dev-qa-db-ja.com

Androidエミュレーターで320dpiの密度をエミュレートする

Android 2.3-Archos 101など、320 dpiの新しい密度のデバイスをエミュレートしようとしていますが、そのような密度のエミュレーターを定義することはできないようです。最新の2.3SDKをダウンロードした後。

私はこれに関するいくつかのアイデアを本当に感謝します:)

どうもありがとう!

19
LB_

それは非常に簡単です。

属性を変更しますhw.lcd.density=320 avd構成ファイルで:/Users/yourUserName/.Android/avd/CustomDevice_API_19.avd/config.ini、仮想デバイスを再起動します。私はすでにそれをテストしています、そしてそれは私に働きます!

警告:密度が正しいことを確認してください。そうしないと、エラーが発生します:qemu: available lcd densities are: 120, 160, 213, 240, 280, 320, 360, 400, 420, 480, 560, 640

ところで私のAndroid SDKToolsのバージョンは25.2.5です。

37
codezjx

AVDマネージャーで、組み込みスキンを選択した場合、抽象化されたLCD密度は無視され、ここで説明するように密度が設定されます。

エミュレータスキン( http://developer.Android.com/tools/revisions/platforms.html から)

ダウンロード可能なプラットフォームには、次のエミュレータスキンが含まれています。

  • QVGA(240x320、低密度、小画面)
  • WQVGA400(240x400、低密度、通常の画面)
  • WQVGA432(240x432、低密度、通常の画面)
  • HVGA(320x480、中密度、通常の画面)
  • WVGA800(480x800、高密度、通常の画面)
  • WVGA854(480x854高密度、通常画面)
  • WXGA720(1280x720、超高密度、通常の画面)
  • WSVGA(1024x600、中密度、大画面)
  • WXGA800-7インチ(1280x800、高密度、大画面)新品
  • WXGA800(1280x800、中密度、xlarge画面)

独自の抽象化LCD密度を設定する場合は、[解像度]ラジオボタンをクリックして、独自の解像度を手動で定義する必要があります。

これをテストするために使用できるコードは次のとおりです。

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int density = metrics.densityDpi;
    if (density == DisplayMetrics.DENSITY_HIGH) {
        Toast.makeText(this, "DENSITY_HIGH... Density is " + String.valueOf(density),  Toast.LENGTH_LONG).show();
    }
    else if (density == DisplayMetrics.DENSITY_MEDIUM) {
        Toast.makeText(this, "DENSITY_MEDIUM... Density is " + String.valueOf(density),  Toast.LENGTH_LONG).show();
    }
    else if (density == DisplayMetrics.DENSITY_LOW) {
        Toast.makeText(this, "DENSITY_LOW... Density is " + String.valueOf(density),  Toast.LENGTH_LONG).show();
    }
    else {
        Toast.makeText(this, "Density is neither HIGH, MEDIUM OR LOW.  Density is " + String.valueOf(density),  Toast.LENGTH_LONG).show();
    }
6
seb

仮想デバイスのカスタム密度と解像度はいつでも定義できます。

Eclipseを使用している場合は、Window - Android SDK and AVD Managerに移動し、Newボタンを押し、名前を入力してSDKバージョンを選択し、ResolutionセクションのSkinオプションを押して、必要な解像度を設定します。 Hardwareセクションで、デフォルトオプションABstracted LCD Densityを目的の値に編集し、Create AVDボタンを押します。

AVD ManagerのStartボタンを押すと、Scale display to real sizeを選択できるポップアップウィンドウが表示されます。そこで、デバイスの実際の画面サイズとモニターのdpiを設定する必要があります。その入力フィールドの右側にある疑問符を押すと、モニターのサイズに基づいて計算機に計算させることができます。

3

私が理解していることから、Androidは画面のサイズと密度を分類するので、240dpiは320dpiと同じように扱われる、つまり高密度です。次のオプションである超高密度もあります。Iこの情報は、Android開発者向けリファレンス http://developer.Android.com/guide/topics/fundamentals.html および下部にある宣言と呼ばれるセクションを参照)にあります。アプリケーションの要件。私は完全に間違っているかもしれませんが、一言の価値があると思いました。

2
Maddog Pepper