2010-10-28 4 views
0

Я пытаюсь просто протестировать свое приложение под настройкой QVGA, но 95% времени, когда я запускаю созданный ими эмулятор QVGA, загружает ресурсы, связанные с HVGA. У меня есть пользовательские растровые изображения, которые я включаю в свое приложение, поэтому для меня важно проверить внешний вид.Android-эмулятор, загружающий неправильную плотность

Чтобы увидеть, что плотность обрабатывалась, как я добавил следующий код и отображаются результаты в Toast:

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"/> 

В моей папке Рез, у меня есть:

drawable 
drawable-hdpi 
drawable-ldpi 
drawable-mdpi 

Может кто-нибудь сказать мне, почему эмулятор не загружает чертежи с низкой плотностью? Выделения в этом эмуляторе QVGA имеют тот же точный размер, что и чертежи в эмуляторе HVGA (не то, что я хочу), и да, я уменьшил фотографии до добавления их в папку LDPI (значительно меньше). По какой-то очевидной причине время от времени эмулятор будет правильно загружаться, и все отображается правильно, но опять же, это происходит примерно в 5% случаев без видимых причин для почему.

ответ

1

Я боролся с моим приложением, возвращающим среднюю плотность, независимо от того, какой тип эмулятора я использовал какое-то время. Как только я обнаружил, что поддержка-экраны/anyDensity, которая исправила мою проблему. Я заметил, что документация была неправильной, говоря, что после уровня 4 вам не понадобилось это заявление в вашем файле манифеста. Тем не менее, я использую 2.2, поэтому это было неправильно.

В целом это может быть связано с вашей проблемой.

То, что я действительно хотел отметить, было this webpage. Не тратьте слишком много времени на QVGA, ваше время намного лучше потрачено в другом месте, как вы можете видеть.

+2

Желаю, чтобы все было так просто для меня. Независимо от того, что я сделал, я редко получаю желаемые результаты. Спасибо за ссылку, хотя, немного успокаивающе знать, что так мало телефонов, но я все еще ненавижу тот факт, что даже один человек может иметь плохой опыт работы с одним из моих приложений только потому, что у меня нет возможности тщательно проверить. – Michael

Смежные вопросы