Плотность эмуляции 320 dpi на эмуляторе Android - PullRequest
13 голосов
/ 25 января 2011

Мы пытаемся эмулировать устройства с новой плотностью 320 точек на дюйм в Android 2.3 - такие как Archos 101, и мы не можем определить эмулятор с такой плотностью, даже после загрузки последней версии 2.3 SDK.

Буду очень признателен за некоторые идеи по этому вопросу:)

Большое спасибо!

Ответы [ 4 ]

30 голосов
/ 09 мая 2017

Это довольно просто.

Измените атрибут 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 SDK Tools - 25.2.5.

6 голосов
/ 03 сентября 2012

В диспетчере AVD, если вы выберете встроенный скин, плотность абстрактного ЖКД игнорируется, и он устанавливает плотность, как описано здесь:

Скины эмулятора (от 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, средняя плотность, большой экран)

Если вы хотите установить собственную плотность абстрагированного ЖК-дисплея, которая вам понадобитсяопределить собственное разрешение вручную, нажавПереключатель «Разрешение».

Вот код, который можно использовать для проверки:

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();
    }
3 голосов
/ 25 января 2011

Вы всегда можете определить пользовательскую плотность и разрешение для ваших виртуальных устройств.

Если вы используете Eclipse, перейдите на Window - Android SDK and AVD Manager, нажмите кнопку New, введите имя и выберите версию SDK, нажмите опцию Resolution в разделе Skin и установите необходимое разрешение. , В разделе Hardware измените параметр по умолчанию ABstracted LCD Density на нужное значение и нажмите кнопку Create AVD.

Когда вы нажимаете кнопку Start в AVD Manager, вы получаете всплывающее окно, в котором вы можете выбрать Scale display to real size. Там вы должны установить для устройств реальный размер экрана и ваши мониторы dpi. Вы можете нажать на знак вопроса справа от этого поля ввода и позволить калькулятору рассчитать его для вас на основе размера ваших мониторов.

2 голосов
/ 09 июня 2011

Насколько я понимаю, Android классифицирует размер и плотность экрана, поэтому я думаю, что он обрабатывает 240 точек на дюйм так же, как 320 точек на дюйм, то есть он имеет высокую плотность.Существует также следующая опция - сверхвысокая плотность.Я нашел эту информацию в справочнике разработчика Android, см. http://developer.android.com/guide/topics/fundamentals.html и в нижней части под названием «Объявление требований приложения».Я могу быть совершенно неправ, но подумал, что стоит кричать.

...