wrap_content的背景图像

时间:2010-09-06 02:39:43

标签: android image graphics layout background

我创建了一个自定义背景图片,并希望将其用作高度为 wrap_content 的布局的背景。但是,该布局内容的总高度远小于背景图像的高度。

当我通过 android:background =“@ drawable / image”将其设置为XML背景时,我注意到它显示了图像的整个高度,尽管实际内容的高度更短。

有没有办法阻止这种情况发生?

感谢。

3 个答案:

答案 0 :(得分:2)

我遇到了类似的问题,正在使用9patch。完整的9补丁图像显示为背景,即使它附加的内容不是那么大(使用wrap_content)。我不确定为什么Android选择显示完整图像而不是缩放背景以适应内容。

但是,我通过缩小背景图像来解决问题。我的意思是保留角落,但缩小垂直和水平部分。请参阅我之前拥有的背景框架的附加图像以及调整大小的结果。

alt text alt text

答案 1 :(得分:0)

您可以将背景图像转换为9-patch drawable,或者使用XML位图来改变图像的行为,使其大于容器。有关这两者的详细信息,请参阅this page

答案 2 :(得分:0)

我也遇到了这个问题。如果设置背景的资源太小,则可能会出现纵横比问题。我找到的解决方案是将背景图像分为三个部分:顶部,中部和底部。这些图像中的每一个都是三种不同布局/图像视图的背景。中间部分是保存“wrap_content”属性的部分:

顶部: bg_top

中:bg_middle

底部:enter image description here

随着内容的大小增加,边框将保持不受影响,中间也将增加(整个“框”)也将增加。当然,这是一个解决背景图像分区有意义的案例。