Задать вопрос

Размер картинки на фон в Android-приложении?

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

Проблема заключается в том, что сейчас уже существуют устройства, разрешение экранов которых превышает FullHD. Так как же решить эту задачу грамотно? Не существует ли возможности поставить векторное изображение на фон Activity? Если нет, просто закидывать картинку в разных разрешениях в drawable? Тогда в каких разрешениях?
  • Вопрос задан
  • 16290 просмотров
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Ivnika
@Ivnika
В подобных случаях я старался разбить изображение на фон и непосредственно картинку, тогда фоном заполняем весь экран а картинку вписываем в центр. В этом случае все достаточно корректно на любых экранах (опять же у вас вектор- удобно). В зависимости от картинки возможны другие варианты- фон и картинка выравненная по низу экрана и ширине.
Ответ написан
VYakushev
@VYakushev
Разработчик Android в Nowtaxi
Один из возможных вариантов — это вариант предложенный Ivnika. Другой вариант — подготовить две квадратных картинки залитых фоном и шириной стороны в максимальную ширину для hdpi и xhdpi. При этом само изображение должно помещаться в минимальную ширину для hdpi и xhdpi. Но этот вариант сильно проигрывает, когда для фона используется одно изображение, а для картинки другое. Все равно на каких-то устройствах не избежать растяжения фона, а также на устройствах с максимальным разрешением для xhdpi и hdpi главная картинка на фоне будет меньше чем требуется. При использовании же раздельных изображений для фона можно выбрать хорошо ужатый JPEG (или PNG, который можно замостить), а для картинки сделать для каждого из разрешений в хорошем качестве PNG.
Ответ написан
Комментировать
palmut
@palmut
Еще вариант — использовать библиотеку svg-android.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы