С ресурсами по умолчанию в папке drawable (размером MDPI) какой смысл в папке drawable-mdpi? - PullRequest
9 голосов
/ 14 марта 2011

У меня есть полный набор изображений с различной плотностью пикселей, и мне нужно поместить растровые ресурсы в папку drawables (в MDPI), чтобы использовать их в качестве ресурсов по умолчанию (для предотвращения сбоев на устройствах с плотностью пикселей, которых у меня нет например, xhdpi), но это означает дублирование ресурсов в drawable-mdpi в папку drawable.

Так как дублирование явно плохое, мне интересно, следует ли мне просто удалить папку drawable-mdpi и оставить мои ресурсы MDPI в папке (по умолчанию) drawable

Или я что-то упустил?

Ответы [ 2 ]

16 голосов
/ 14 марта 2011

Вам не нужно дублировать ваши ресурсы.Хорошей практикой является выполнение следующих действий: - Поместите все графические объекты, не основанные на изображениях, в res / drawable / (например, все ваши XML-рисунки) - Поместите все графические материалы на основе изображений (изображения и 9-патчи) в res / drawable-mdpi, res / drawable-hdpi и т. д.

1 голос
/ 19 апреля 2011

Все, что я хотел бы сказать, это то, что, очевидно, парень Ромен прав в использовании drawables для хранения XML-файлов, а затем в перемещении ресурсов изображения в соответствующие папки mdpi, hdpi и ldpi, единственный раз, когда я буду против, это когда вы хотите настроить таргетинг на 1,5 устройства.

Причина этого заключается в том, что, поскольку 1.5 не распознает теги -hdpi, -mdpi и -ldpi, он игнорирует их и выбирает ресурсы (на первый взгляд случайным образом) из каждой папки, поэтому вместо этого необходимо добавить следующий флаг - hdpi-v4, -mdpi-v4, -ldpi-v4, это сделает эти папки доступными в более чем 1,6-версиях Android, заставив 1,5 видеть только перетаскиваемую папку, и в этот момент вам нужно иметь все свои ресурсы в отрисовке, что затем устраняет необходимость иметь папку drawable-mdpi.

Тем не менее, поскольку 1.5 немного загружается, и такое количество устройств есть, имеет смысл выбрать 1.6+ и игнорировать это осложнение.

...