Имеется Android-приложение. В нем есть обычное Activity с ActionBar. Есть необходимость поставить на задний фон в этом Activity картинку. Исходник картинки в векторе, то есть я могу экспортировать его в любом разрешении.
Проблема заключается в том, что сейчас уже существуют устройства, разрешение экранов которых превышает FullHD. Так как же решить эту задачу грамотно? Не существует ли возможности поставить векторное изображение на фон Activity? Если нет, просто закидывать картинку в разных разрешениях в drawable? Тогда в каких разрешениях?
В подобных случаях я старался разбить изображение на фон и непосредственно картинку, тогда фоном заполняем весь экран а картинку вписываем в центр. В этом случае все достаточно корректно на любых экранах (опять же у вас вектор- удобно). В зависимости от картинки возможны другие варианты- фон и картинка выравненная по низу экрана и ширине.
Да, здесь можно поступить похожим образом, но выровнять картинку по верху, а снизу оно будет переходить в белый. Но по ширине все равно рисунок должен заполнять пространство полностью, его никак не сделать иначе.
а в чем проблема с шириной? Насколько я помню можно подобрать варианты вписывания изображения в layout. Т.е. указываете ширину 100%, высоту автоматом, выравнивание по верху.
p.s. Еще нюанс, правда я его использовал для небольших изображений- картинку в ресы я вставлял изначально большую (раза в два больше требуемой) а масштабирование происходило средствами андроида. В этом случае качество лучше.
Просто в высоком разрешении в PNG такая картинка весит больше мегабайта, я не уверен, что это положительно скажется на потреблении оперативки. Возможно, стоит разложить картинку в разных разрешениях по папкам drawable. Но в каких разрешениях?
Один из возможных вариантов — это вариант предложенный Ivnika. Другой вариант — подготовить две квадратных картинки залитых фоном и шириной стороны в максимальную ширину для hdpi и xhdpi. При этом само изображение должно помещаться в минимальную ширину для hdpi и xhdpi. Но этот вариант сильно проигрывает, когда для фона используется одно изображение, а для картинки другое. Все равно на каких-то устройствах не избежать растяжения фона, а также на устройствах с максимальным разрешением для xhdpi и hdpi главная картинка на фоне будет меньше чем требуется. При использовании же раздельных изображений для фона можно выбрать хорошо ужатый JPEG (или PNG, который можно замостить), а для картинки сделать для каждого из разрешений в хорошем качестве PNG.