Где хранить изображения в папке 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

У меня есть некоторая путаница вокруг

  1. В какой папке я должен хранить изображения, и как это будет иметь значение?

  2. Нужно ли иметь изображения с разным разрешением для разных типов устройств?

Благодарю.

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

Другие вопросы по тегам