Я пытаюсь просто протестировать мое приложение в настройках QVGA, но в 95% случаев, когда я запускаю созданный эмулятор QVGA, он загружает ресурсы, связанные с HVGA.У меня есть собственные растровые изображения, которые я включаю в свое приложение, поэтому для меня крайне важно иметь возможность проверить внешний вид.
Чтобы увидеть, как обрабатывается плотность, я добавил следующий код и отобразил результаты втост:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
// will either be DENSITY_LOW, DENSITY_MEDIUM or DENSITY_HIGH
int dpiClassification = dm.densityDpi;
// these will return the actual dpi horizontally and vertically
float xDpi = dm.xdpi;
float yDpi = dm.ydpi;
Output was -> DensityClass = 160 - xDpi = 164.75 - yDpi = 165.88
Возможно, я просто неправильно понимаю, но для начала, разве класс плотности не должен иметь значение 120?
Я создал эмулятор QVGA в диспетчере AVD сследующие настройки:
Target: 1.6 level 4
Hardware Property: Abstracted LCD Density = 120 (verified in config.ini file)
В моем файле манифеста я добавил следующее:
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"/>
В моей папке res у меня есть:
drawable
drawable-hdpi
drawable-ldpi
drawable-mdpi
Можеткто-нибудь подскажет, почему эмулятор не загружает отрисовки низкой плотности?Drawables в этом эмуляторе QVGA имеют тот же самый размер, что и Drawables в эмуляторе HVGA (не то, что я хочу), и да, я уменьшил изображения, прежде чем добавлять их в папку LDPI (значительно меньше).По непонятной причине, время от времени эмулятор действительно загружается правильно, и все отображается правильно, но, опять же, это происходит только в 5% случаев без видимой причины.