Android - каскадные папки для рисования и карты по умолчанию - PullRequest
3 голосов
/ 14 октября 2011

У меня есть следующие папки для рисования

/drawable/
/drawable-hdpi/
/drawable-ldpi/
/drawable-mdpi/
/drawable-xhdpi/

Если у меня есть ресурс изображения, нужно ли мне создавать 5 (или 4?) Версий файла с различным разрешением?Допустим, я делаю только две версии и помещаю их в соответствующие папки:

/drawable/
/drawable-hdpi/image.png
/drawable-ldpi/
/drawable-mdpi/image.png
/drawable-xhdpi/

Что происходит, когда кто-либо на устройстве LDPI или XHDPI посещает действие, которое должно отображать image.png?Разве это не показывает это?Приложение вылетает?Или Android следует системе каскадирования ресурсов, показывает версию, ближайшую к текущей плотности экрана?

Кроме того, в этом случае у меня нет image.png в папке /drawable/.Это плохо?Должен ли каждый ресурс иметь (как минимум) версию в папке /drawable/?

Кроме того, если вы указали все 4 папки для рисования с плотностью экрана (xhdpi, hdpi, mdpi, ldpi), тогдаточка нормальной папки /drawable/?Когда он когда-нибудь привыкнет?

1 Ответ

4 голосов
/ 14 октября 2011

Если у меня есть ресурс изображения, нужно ли мне создавать 5 (или 4?) Версий файла с различным разрешением?

Нет, вам не нужно

Что происходит, когда кто-либо на устройстве LDPI или XHDPI посещает активность, для которой требуется отображение image.png?Разве это не показывает это?Приложение вылетает?Или Android следует системе каскадирования ресурсов, показывает версию, ближайшую к текущей плотности экрана?

Android использует хорошую систему каскадирования для своих ресурсов. Эта страница объясняет это немного. Устройства Afaik LDPI используют ресурс MDPI, если ресурс LDPI недоступен, XHDPI использует ресурсы HDPI.(Я могу быть немного не в курсе, не могу вспомнить точные правила) Ваше приложение не падает. Ваше приложение падает, если у вас есть только ресурсы с более высоким разрешением, чем экран.

Кроме того, в этом случае у меня нет файла image.png в папке / drawable /.Это плохо?Должен ли каждый ресурс иметь (как минимум) версию в папке / drawable /?

Нет, не обязательно.

Кроме того, если вы указали все 4 экранаПлотность отрисовываемых папок (xhdpi, hdpi, mdpi, ldpi), тогда какой смысл в обычной / drawable / папке?Когда он когда-нибудь будет использоваться?

Папка для рисования предназначена для изображений, которые не нуждаются в масштабировании, и для таких вещей, как XML-файлы ресурсов с возможностью рисования и т. Д.

...