Проблема с извлечением изображений из папки с высоким разрешением

У меня есть 3 папки с возможностью рисования в моей папке res. drawable-ldpi, drawable-mdpi и drawable-hdpi. У меня есть изображения с низким, средним и высоким разрешением для этих соответствующих папок.

Я тестировал свое приложение на Samsung Moment, который представляет собой экран mdpi. Сегодня я пошел тестировать свое приложение на Samsung Epic (480x800) с экраном hdpi. К сожалению, изображения, которые использует мое приложение, неправильно извлекаются с экрана drawable-mdpi, а не с экрана drawable-hdpi.

Кто-нибудь знает, почему?

Изображения в обеих папках называются одинаково. Кроме того, в моем манифесте у меня есть следующий тег:

<supports-screens
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:anyDensity="true"
        />

Я не совсем уверен, почему он не будет извлекать изображения из папки drawable-hdpi.


person Andrew    schedule 06.12.2010    source источник
comment
Итак, поскольку плотность одинакова (?), Он по-прежнему вытягивает изображения среднего разрешения? Хм... мне это не нравится... мои кнопки выглядят очень маленькими на Samsung Epic. Что я могу с этим поделать?   -  person Andrew    schedule 07.12.2010


Ответы (1)


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

Взято отсюда: Атрибуты манифеста для поддержки экранов

В общем, когда вы объявляете атрибут размера экрана (smallScreens, normalScreens, largeScreens или xlargeScreens) как «истинный», вы сигнализируете платформе, что ваше приложение предназначено для правильного отображения на экране этого размера. В результате платформа не применяет никаких функций совместимости размеров (таких как виртуальная область отображения HVGA). Если вы объявляете атрибут размера экрана как "false", вы сигнализируете, что ваше приложение не предназначено для этого размера экрана. В этом случае платформа применяет функции совместимости размеров, отображая приложение в базовой области отображения HVGA. Если текущий экран больше нормального размера, платформа отображает приложение на виртуальном экране HVGA на большом экране.

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

person blindstuff    schedule 06.12.2010