2012-01-12 3 views
3

Я нахожусь на одном действительно большом проекте, который был запущен, когда он взлетает во время андроида 1.5.путаница о drawable-hdpi, drawable-mdpi, drawable-ldpi и drawable

Этот проект эволюционировал по мере развития андроида и в этот момент поддерживал 2.3 и выше.

Теперь у меня есть эта проблема. У меня есть много чертежей в drawable-hdpi, drawable-mdpi, drawable-ldpi, а также в папке с возможностью переноса.

Как правило, концепция этих 3 папок (drawable-hdpi, drawable-mdpi, drawable-ldpi) мне понятна, но мое замешательство приходит с изображениями в папке с возможностью переноса.

например, у меня есть изображение с именем myimage.png, и это изображение присутствует в папках drawable-hdpi, drawable-mdpi, drawable-ldpi с разрешением 72x72,48x48,36x36 соответственно, но это изображение также присутствует в папке с возможностью переноса.

Вопрос: почему? когда используется изображение из выпадающей папки? это изображение забыто быть удаленным? из этого используется в некоторых случаях? Я попытался удалить это изображение, и приложение работает нормально. Я также поставил только зеленый цвет с разрешением 72x72, и это изображение никогда не нарисовано.

Так может ли кто-нибудь уточнить мне существование выпадающей папки?

Я знаю, что если у меня нет папок dhpi, mdpi и ldpi, тогда мне нужно поместить изображения в drawable, но какова точка изображений при рисовании, когда эти 3 папки присутствуют?

Благодаря

EDIT

еще один вопрос, что делать, если у меня есть изображение в вытяжке-ИПЧР, но не в ldpi и не я MDPI. Скажем, у нас есть телефон с плотностью разрешения mdpi ... Что произойдет?

+1

Для вашего второго вопроса изображение в папке HDPI будет использоваться для устройства MDPI без каких-либо ошибок. Но изображение будет выглядеть немного больше, плотнее в пикселях, чем изображение Mdpi (очевидно). –

ответ

3

drawable folder предназначен для изображений по умолчанию, если изображения не найдены в соответствующих папках, затем он будет искать папку с возможностью переноса.

Я нашел эту фразу в документе:

Например, представьте себе, у вас есть значок приложения, icon.png, и нужны уникальная версия этого для разных языков. Однако для двух локалей, англо-канадских и французско-канадских, необходимо использовать ту же версию. Вы можете предположить, что вам нужно скопировать то же изображение в каталог ресурсов для англо-канадских и французско-канадских, но это неправда. Вместо этого вы можете сохранить изображение, которое используется для обоих: icon_ca.png (любое имя, отличное от icon.png), и поместите его в папку res/drawable /. Затем создайте файл icon.xml в файле res/drawable-en-rCA/и res/drawable-fr-rCA /, который ссылается на ресурс icon_ca.png, используя этот элемент. Это позволяет вам хранить только одну версию PNG-файла и два небольших файла XML, которые указывают на это . (Пример XML-файла показан ниже.)

Для большей ясности обратитесь к этому link.

0

AFAIK Вам не нужна выпадающая папка, если у вас есть все три типа папок (drawable-hdpi, drawable-mdpi, drawable-ldpi) с разными разрешениями.

+1

. Вы можете иметь доступную папку для сохранения стиль xmls. –

0

Как мне показалось, когда вы запускаете приложение на Android 1.5 и 2.0, если изображения, которые используются в любом макете, недоступны в папке «drawable», тогда проект дает ошибку «Ресурс не найден», даже если изображение присутствуют в других папках hdpi, mdpi или ldpi.

+0

Итак, в соответствии с этим, я должен хранить изображения в папке с рисунком, даже если у меня есть их в ldpi, mdpi и hdpi? – Lukap

0

Речь идет не о плотностях других классификаторов, хотя в большинстве случаев мы их мало используем. Для получения списка квалификаторов отметьте here и here. Вы можете использовать -finger -language ... и т. Д. В случае, если вы хотите предоставить ресурсы по умолчанию для классификатора [в этом случае можно вывести], вы можете выбрать папку с возможностью изменения по умолчанию. Или по умолчанию добавлены многие папки по умолчанию без квалификаторов

0

Я думаю, что это page должно помочь вам лучше понять. Спасибо за вопрос. Я, сам, не знал ответа. В основном у вас есть 4 разных версии, и если не существует точно соответствующей версии, используется по умолчанию (без квалификатора).

Смежные вопросы