Вопрос

В чем разница между тремя папками с возможностью рисования в папке res в иерархии проекта?Если мне нужно поместить изображение в папку, в какую папку мне его поместить?

Это было полезно?

Решение

Я собираюсь предположить, что «три выдвижные папки» drawable-ldpi, drawable-mdpi, и drawable-hdpi.В этом случае, если вы придерживаетесь всех этих папок, вам нужно поместить в каждую по одному изображению, размер которого соответствует указанной плотности экрана.Об этом говорится в онлайн-документация а также это Сообщение блога.Вы можете найти набор примеров проектов, демонстрирующих использование различных ресурсов рисования в зависимости от плотности экрана. здесь.

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

Другие советы

Вот ссылка на варианты нескольких устройств.

Как сказал @CommonsWare, вы этого не сделаете. нуждаться помещать ресурсы во что угодно, кроме res/layout/ или drawable/, но если вы хотите, чтобы ваша программа работала лучше на нескольких устройствах с разными экранами/плотностью/языками, вы можете рассмотреть возможность использования такой возможности.

Также интересно, хотя и не только для изображений, то, как Android обрабатывает ресурсы.Он дает им порядок загрузки, где более конкретный означает, что он будет выбран менее конкретным.

Например, у вас есть три значения String в файле strings.xml в папке значений.У вас также есть одна конкретная строка в папке с именемvalues-en.Когда Android открывает ваше приложение и ваш языковой стандарт соответствует en, он загружает два значения по умолчанию из папки значений и третью, более конкретную строку, из значений-en.Если ваша локаль — ru, вместо нее будет использоваться значение по умолчанию, поскольку у вас нет папки значений-ru.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top