Где хранить изображения в папке Android Drawables?
Я работаю над приложением Android, которое должно поддерживать 2.1 до последней версии Android OS (4.2). В настоящее время у меня есть несколько изображений для отображения в моем модуле галереи изображений. Мне нужно поддерживать мое приложение на всех устройствах (смартфонах и планшетах), которые поддерживают ОС от 2.1 до 4.2 (последняя версия).
Каждое изображение имеет размер примерно 368X387, 50 КБ каждое, тип PNG
Моя рабочая область res содержит следующие папки для рисования:
drawable-hdpi
drawable-ldpi
drawable-mdpi
drawable-xdpi
У меня есть некоторая путаница вокруг
В какой папке я должен хранить изображения, и как это будет иметь значение?
Нужно ли иметь изображения с разным разрешением для разных типов устройств?
Благодарю.
5 ответов
Вы можете хранить изображения только в 1 папке, НО, например, у вас есть устройство с поддержкой mdpi... оно будет хорошо смотреться на нем, но если вы запустите свое приложение на ldpi, Android автоматически масштабирует ваше изображение и будет выглядеть ужасно (низкое качество), Так что да, вам нужны изображения с различным разрешением для разных типов устройств... так, чтобы изображения с разрешением mdpi переходили в drawable-mdpi, чтобы изображения с разрешением hdpi переходили в drawable-hdpi etcc..
Вот список, который я нашел в интернете о размерах экрана, может быть, вы найдете его полезным:
Low density Small screens QVGA 240x320 (120dpi):
layout-small-ldpi (240x320)
layout-small-land-ldpi (320x240)
Low density Normal screens WVGA400 240x400 (x432) (120dpi):
layout-ldpi (240 x 400 )
layout-land-ldpi (400 x 240 )
Medium density Normal screens HVGA 320x480 (160dpi):
layout-mdpi (320 x 480 )
layout-land-mdpi (480 x 320 )
Medium density Large screens HVGA 320x480 (160dpi):
layout-large-mdpi (320 x 480 )
layout-large-land-mdpi (480 x 320)
Galaxy Tab ( 240 dpi ):
layout-large (600 x 1024)
layout-large-land (1024 x 600)
High density Normal screens WVGA800 480x800 (x854) (240 dpi):
layout-hdpi (480 x 800)
layout-land-hdpi (800 x 480)
Xoom (medium density large but 1280x800 res) (160 dpi):
layout-xlarge (800 x 1280)
layout-xlarge-land (1280 x 800)
Также было бы неплохо прочитать официальные документы сайта о поддержке разных типов экранов.
В папке ресурсов есть четыре папки: 1- drawable-hdpi 2-drawable-ldpi 3-drawable-mdpi 4-drawable-xdpi
Чтобы объявить разные макеты и растровые изображения, которые вы хотите использовать для разных экранов, вы должны поместить эти альтернативные ресурсы в отдельные каталоги / папки. Это означает, что если вы генерируете изображение 200x200 для устройств xhdpi, вы должны генерировать один и тот же ресурс в 150x150 для hdpi, 100x100 для mdpi и 75x75 для устройств ldpi.
Затем поместите файлы в соответствующий каталог ресурсов для рисования: в соответствии с вашими потребностями
Если вы хотите использовать одни и те же изображения для всех типов экранов, вы можете создать другую папку с именем "drawable" и поместить все изображения в эту папку. это будет работать по умолчанию для рисования.
но если вы хотите улучшить качество изображения на всех разрешениях. Затем вам нужны все 4 типа изображений и поместите их в соответствующую папку с тем же именем. Вы также можете сделать разные XML-файлы для каждого разрешения.
Смотрите это http://developer.android.com/training/multiscreen/screendensities.html
Вы можете поместить определенное изображение во все папки.
drawable-hdpi
---->img.png
drawable-ldpi
---->img.png
drawable-mdpi
---->img.png
drawable-xdpi
---->img.png
Все зависит от вашей операционной системы. По умолчанию это будет сделано в соответствии с разрешением устройства.
В Android у нас есть папка "Res", которая является ничем иным, как папкой ресурсов. Внутри этой папки res у нас есть другие подпапки, но для хранения изображений у нас есть четыре типа названий папок:
drawable-hdpi для экранов высокой плотности, и ее разрешение равно 480 * 800
drawable-ldpi для экранов с низкой плотностью и разрешением 240 * 320
drawable-mdpi для экранов средней плотности и его разрешения 320 * 480
drawable-xdpi для экранов с плотностью размещения Xtra и его разрешением 640*960
Если вы хотите сопоставить изображение для нескольких экранов, я предлагаю использовать
Девять патчей, а не.png и.bmp для создания девяти патчей http://developer.android.com/tools/help/draw9patch.html