Фоновое изображение для wrap_content - PullRequest
12 голосов
/ 06 сентября 2010

Я создал собственное фоновое изображение и хотел использовать его в качестве фона для макета с высотой wrap_content .Однако общая высота содержимого этого макета намного меньше высоты фонового изображения.

Когда я устанавливаю его в качестве фона в XML с помощью android: background = "@ drawable /image ", я заметил, что он отображает всю высоту изображения, хотя высота фактического содержимого намного короче.

Есть ли способ, чтобы предотвратить это?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 05 января 2011

У меня была похожая проблема, и я использовал 9patch.Полное изображение с 9 патчами показывалось в качестве фона, хотя содержимое, к которому оно было прикреплено, было не таким большим (использовалось wrap_content).Я не уверен, почему Android выбрал показ полного изображения вместо масштабирования фона, чтобы подогнать его под содержимое.

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

alt text alt text

0 голосов
/ 10 января 2012

Я тоже сталкивался с этой проблемой. Если вы установите слишком маленький ресурс фона, у вас могут возникнуть проблемы с соотношением сторон. Я нашел решение разделить фоновое изображение на три части: верхнюю, среднюю и нижнюю. Каждое из этих изображений является фоном трех разных Layouts / ImageViews. Средняя часть содержит свойство "wrap_content":

Top: bg_top

Средний: bg_middle

Низ: enter image description here

По мере увеличения размера контента границы будут оставаться неизменными, а середина также будет увеличиваться (как и вся "коробка"). Конечно, это решение для случая, когда разделение фонового изображения имеет смысл.

0 голосов
/ 06 сентября 2010

Вы можете преобразовать ваше фоновое изображение в 9-патч или использовать растровое изображение XML, чтобы изменить поведение вашего изображения, когда оно больше контейнера. См. эту страницу для получения дополнительной информации об обоих.

...