Поддержка всех размеров экрана и версий Android

Я разрабатываю приложение для Android, и я хочу использовать изображения в качестве фона для действий. Я ориентируюсь на API 8 до последней. Я хотел бы знать, что это лучший способ сделать это.

Я читал « Поддержка различных экранов и поддержка нескольких экранов» .

Итак, я сделал 4 изображения для каждого фона с такими размерами: 320×480, 480×800, 600×1024, 800×1280. Во-первых, я помещал файлы в эти папки соответственно: drawable-sw320dp, drawable-sw480dp, drawable-sw600dp, drawable-sw720dp . Затем я понял, что это работает только для Android 3.2 и выше, поэтому мне нужно было добавить небольшие, обычные, большие и xlarge папки. Чтобы не дублировать файлы, я следил за идеями этого раздела первой статьи .

Окончательная структура:

  • Все изображения внутри drawable папки с разными именами для каждого измерения
  • Xml-файл в каждой из этих папок: values-sw320dp, values-sw480dp, values-sw600dp, values-sw720dp, values-small, values-normal, values-large, values-xlarge

Например, на фоне основной деятельности у меня есть:

  • drawable\bg_main_320.png
  • drawable\bg_main_480.png
  • drawable\bg_main_600.png
  • drawable\bg_main_720.png
  • И drawables.xml в восьми папках, названных выше.

Содержимое drawables.xml для values-sw480dp и values-normal папки:

 <resources> <item name="bg_main" type="drawable">@drawable/bg_main_480</item> </resources> 

Я тестировал это в Android 2.3.7 и 4.0.3, и он работает нормально. Тем не менее, я получаю это предупреждение Lint для каждого изображения: «Найденный битмап drawable res / drawable / bg_main_480.png в папке с плотностью. Проблема: гарантирует, что изображения не определены в независимой от плотности переносимой папке». Я знаю, что это значит, но я не буду продолжать создавать больше изображений для каждого dp, поскольку он бессмыслен.

Является ли структура, которую я использую правильно? Что ты предлагаешь?

/res/drawable не должны иметь никаких файлов изображений, он должен включать только чертежи, определенные с помощью XML. Вы должны разместить ваши фактические файлы изображений в квалифицированных каталогах с возможностью рисования на основе целевой плотности пикселей. Если вы не хотите указывать какой-либо квалификатор, поместите их в /res/drawable-nodpi

Вы можете найти ценную информацию здесь

А также в «res» forlder вы можете увидеть различные чертежи: 36×36 для низкой плотности

48×48 для средней плотности

72×72 для высокой плотности

96×96 для сверхвысокой плотности

Вы можете разместить свои файлы для определенного разрешения.