Я разрабатываю приложение для Android и Я хочу использовать изображения в качестве фона для действий. Я ориентируюсь от API 8 до последней. Я хотел бы знать, каков наилучший способ сделать это.Поддерживает все размеры экрана и версии для Android
Я читал Supporting Different Screen Sizes и Supporting Multiple Screens.
Итак, я сделал 4 изображения для каждого фона с такими размерами: 320x480, 480x800, 600x1024, 800x1280. Во-первых, я помещал файлы в эти папки соответственно: drawable-sw320dp, drawable-sw480dp, drawable-sw600dp, drawable-sw720dp
. Затем я понял, что это работает только для Android 3.2 и выше, поэтому мне нужно было добавить небольшие, обычные, большие и xlarge папки. Чтобы не дублировать файлы, я придерживался идей this section of the first article.
Конечная структура:
- Все изображения внутри папки
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, поскольку это бессмысленно.
Является ли структура, которую я использую правильно? Что ты предлагаешь?
Справка «Линт» говорит: «Если значок действительно не зависит от плотности (например, сплошной цвет), вы можете поместить его в drawable-nodpi». Итак, я не был уверен, что использование этой папки было правильным. В любом случае, я использовал правильную структуру? (размеры и папки) – IvanRF
Кажется, что это сработает, но вам придется протестировать это с помощью различных форм-факторов устройства. Вам абсолютно необходимо использовать изображения таким образом? Если есть какой-либо способ использовать изображение с девятью патчами или черепичное изображение, вы можете сделать жизнь проще для вас. – Karakuri
Спасибо за ваш ответ. Пока, я буду перемещать изображения в/res/drawable-nodpi. Возможно, в будущем я подумаю о том, как воссоздать изображения с более сложными чертежами. – IvanRF