проблема с несколькими размерами экрана

Насколько я понимаю, поддержка нескольких размеров экрана работает на 3.2 или более поздних версиях. любой ниже этой версии, он не будет автоматически определять размер экрана и выбирать правильную папку макета.

Поправьте меня, если я ошибаюсь

Однако в моем случае я запускаю приложение на эмуляторе и двух разных устройствах размера и версии.

Эмулятор: версия 1.6 с QVGA. Он автоматически определяет размер экрана и выбирает правильную папку макета.

первое устройство: версия 2.2 с малым размером (QVGA). Он не определяет автоматически размер экрана и не выбирает неправильную папку макета.

второе устройство: версия 4.0.4 с Nexus S-среднего размера (HVGA). Он автоматически определяет размер экрана и выбирает правильную папку макета.

мой манифест.xml

<uses-sdk android:minSdkVersion="12" />

<supports-screens
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:resizeable="true"
    android:smallScreens="true"
    android:xlargeScreens="true"
    android:requiresSmallestWidthDp="426" >
</supports-screens>

моя папка

res/drawable

разрешение/макет

разрешение/макет-маленький

Я не создаю новый набор рисунков, потому что изображение может отображаться четко при использовании небольшого макета, поэтому я не беспокоюсь об этом.

Что если я обновлю свое первое устройство с 2.2 до 3.2 или более поздней версии, тогда устройство автоматически обнаружит и выберет правильную папку?


person Alan Lai    schedule 14.05.2012    source источник


Ответы (1)


Ссылка ниже поможет вам понять, как это сделать.

http://www.brighthub.com/mobile/google-android/articles/61895.aspx#
person Goofy    schedule 14.05.2012
comment
он должен автоматически выбрать размер экрана - person Goofy; 14.05.2012
comment
извините за поздний ответ, на самом деле мой с предоставленным вами номером гильдии не имеет большой разницы - person Alan Lai; 15.05.2012
comment
однако он не может обнаружить, я приостанавливаю, это версия Android или марка устройства, из-за которой невозможно обнаружить? - person Alan Lai; 15.05.2012
comment
Еще 1 вещь, я использую пиксель вместо dp или dip - person Alan Lai; 15.05.2012
comment
Не используйте пиксель, вот где проблема в том, что вам нужно использовать dip (независимый от устройства пиксель), который выравнивается на основе устройства. Попробуйте, чтобы он работал. - person Goofy; 15.05.2012
comment
в настоящее время очень сложно изменить это, потому что в нем задействовано много макетов, так что какое-либо другое решение вместо перехода на dip? - person Alan Lai; 15.05.2012
comment
Гарантируется ли, что после перехода на dip устройство автоматически обнаружит и выберет правильную папку макета? - person Alan Lai; 15.05.2012
comment
Это было потрясающе, я портирую на маленький экран Samsung 2.3.3, он автоматически определяет - person Alan Lai; 15.05.2012
comment
я не использовал погружение, я ничего не менял, а просто поменял разное устройство для установки одних и тех же приложений, два устройства были 2.2 и 2.3 соответственно, и 2.3 работает, а 2.2 не работает. - person Alan Lai; 15.05.2012
comment
Вы имеете в виду, что устройства были неправильными? Но dip — это независимый от устройства пиксель, который автоматически устанавливает размеры на основе устройства. Лучше всегда использовать dip. - person Goofy; 15.05.2012
comment
да, dip лучше, но ранее в этом проекте мы решили использовать пиксели, тогда нужно двигаться вперед, я думаю, что HTC с 2.2 не может автоматически определять, но samsung 2.3 может автоматически определять размер экрана и выбирать правильную папку макета. - person Alan Lai; 15.05.2012