Где хранить изображения в папке с чертежами Android?

Я работаю над приложением для 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. Нужны ли мне изображения с разным разрешением для разных типов устройств?

Спасибо.


person Rohit    schedule 04.04.2013    source источник
comment
Я предлагаю вам перейти по этой ссылке developer.android.com/guide/practices/screens_support. html   -  person Praful Bhatnagar    schedule 04.04.2013


Ответы (5)


Вы можете хранить изображения только в одной папке, НО, например, у вас есть устройство с 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)

Также было бы неплохо прочитать официальную документацию сайта о поддержке различных типов экранов.

person Marko Niciforovic    schedule 04.04.2013
comment
есть идеи, как рассчитать dpi? У меня есть размер изображения и координаты x, y. - person Rohit; 04.04.2013
comment
это то, что вам нужно сделать, если вы хотите правильно загружать изображения из папки с возможностью переноса на Android, не теряя их качества. - person Marko Niciforovic; 04.04.2013
comment
прочтите эту страницу, у вас есть все здесь developer.android.com/guide/ практики / - person Marko Niciforovic; 04.04.2013
comment
единица измерения этих значений - пиксели, верно? - person TuGordoBello; 27.03.2014
comment
@zhelon да, значения в пикселях. - person Marko Niciforovic; 28.03.2014

В папке ресурсов есть четыре папки 1- drawable-hdpi 2-drawable-ldpi 3-drawable-mdpi 4-drawable-xdpi

Чтобы объявить разные макеты и растровые изображения, которые вы хотите использовать для разных экранов, вы должны поместить эти альтернативные ресурсы в отдельные каталоги / папки. Это означает, что если вы создаете изображение 200x200 для устройств xhdpi, вы должны сгенерировать тот же ресурс размером 150x150 для hdpi, 100x100 для mdpi и 75x75 для устройств ldpi.

Затем поместите файлы в соответствующий каталог доступных для рисования ресурсов: в соответствии с вашими потребностями.

person Ravi the rko    schedule 04.04.2013

если вы хотите использовать одни и те же изображения для всех типов экранов, вы можете создать другую папку с именем «drawable» и поместить все изображения в эту папку. он будет работать по умолчанию.

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

person adnan_it    schedule 04.04.2013


В 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

person Pavan tej    schedule 23.05.2013