Подтвердить что ты не робот

Android - добавление изображений в проект

Я новичок в Android, и я использую Eclipse ADT для создания простого приложения. Это приложение имеет кнопку, которая изменяет его фоновое изображение на основе пользовательских кликов.

Я заметил, что в моем проекте есть 4 папки для изображений: drawable-hdpi, drawable-ldpi, drawable-mdpi, and drawable-xhdpi.

и я также заметил, что изображения, которые сейчас находятся (значок запуска), имеют разные размеры.

Означает ли это, что я должен использовать какое-то программное обеспечение для редактирования изображений для создания одного изображения для каждого разрешения для каждого из моих изображений? Или (надеюсь), есть ли способ импортировать изображение и сделать это для меня автоматически?

Спасибо!

4b9b3361

Ответ 1

Изображения и другие визуальные файлы хранятся в одном или нескольких доступных каталогах. Если только в одном каталоге, Android будет масштабировать изображение по мере необходимости. Если используется несколько каталогов, Android выберет изображение соответствующего размера.

  • drawable-ldpi - Изображения с низкой плотностью
  • drawable-mdpi - Изображения средней плотности
  • drawable-hdpi - Изображения высокой плотности
  • drawable-xhdpi - Изображения с высокой плотностью изображения (например, сетчатые дисплеи)
  • drawable-xxhdpi - дополнительные изображения с высокой плотностью (такие устройства, как Nexus 10, Samsung Galaxy S4, HTC One и Sony Xperia Z).
  • drawable-xxxhdpi - Тройные изображения с высокой плотностью изображения (Nexus 6 и 9)

(Примечание: файлы XML также могут быть записаны и сохранены в виде чертежей. Эти типы файлов могут управляться, когда несколько изображений должны использоваться в зависимости от состояния представления или других визуальных параметров, таких как градиенты, границы и т.д. )

Итак, что вы должны делать?

Для получения наилучших результатов (из Android-разработчиков):

Чтобы сгенерировать эти изображения, вы должны начать с вашего исходного ресурса в векторном формате и сгенерировать изображения для каждой плотности с помощью следующей шкалы размеров:

  • xxxhdpi: 4.0
  • xxhdpi: 3.0
  • xhdpi: 2.0
  • hdpi: 1.5
  • tvdpi: 1.33 (только для телевизоров)
  • mdpi: 1.0 (базовый уровень)
  • ldpi: 0.75

Это означает, что если вы создаете образ 200x200 для устройств xhdpi, вы должны создать тот же ресурс в 150x150 для hdpi, 133x133 для tvdpi, 100x100 для mdpi и, наконец, для изображения 75x75 для устройств ldpi.

Если вы просто хотите использовать одно изображение, и пусть Android-шкала для вас:

Более 75% устройств Android теперь имеют hdpi или большее разрешение, в соответствии с панель мониторинга на сайте разработчика Android. Например, если вы создадите одно изображение в hdpi, он будет выглядеть примерно на трети устройств, масштабироваться для некоторых и уменьшать примерно на 25% устройств. В общем, я думаю, вам будет лучше сокращаться, чем масштабироваться.

Ответ 2

Означает ли это, что я должен использовать какое-то программное обеспечение для редактирования изображений для создания одного изображения для каждого разрешения для каждого из моих изображений? Или (надеюсь), есть ли способ импортировать изображение и сделать это для меня автоматически?

Если у вас уже есть источники высокого разрешения (или векторные графические форматы) ваших изображений, вы можете использовать Android Asset Studio для создания значков/изображения из ваших собственных исходных изображений для плотности каждый (минус xxhdpi). Вы также можете создавать значки/изображения из клипа по умолчанию Android, который может быть тематическим для различных версий Android. Это избавит вас от хлопот изменения размера и сохранения с помощью инструмента редактирования изображений.