Android布局高度最小为match_parent,但如果内容大于父容器,则为wrap_content。

21
我有一个ScrollView,在里面有一个LinearLayout(内容视图容器)。我希望LinearLayout的最小高度为“match_parent”,但如果内容超出父级高度,则希望LinearLayout能够采用“wrap_content”。
我的LinearLayout有一个平铺的背景图像,使它看起来像是一个黄色的法律便笺。然而,如果LinearLayout中的内容很少,那么屏幕底部就会有一个黑色的空白部分,因为LinearLayout只包裹内容。
我想让黄色的法律便笺背景覆盖整个屏幕,但我不能把它放在ScrollView上,否则背景就不会随着内容滚动。我不想让内容漂浮在便笺上方,我希望它们能够锚定在一起。
有没有办法实现这个要求呢?
编辑:
进一步研究后发现,ScrollView和LinearLayout都有683像素高,所以它们的大小相同,这很好。但问题是它们都应该有766像素高(之前的片段大小被此片段替换)。

如果你只是将LinearLayout的高度设置为“match_parent”会发生什么?我认为它会遵循内容的大小,你也可以滚动它。 - abbath
我刚试了一下,它不会导致短内容视图填充父级(虽然也不会引起任何问题,我仍然可以滚动)。 - Kenny Wyland
1
我曾经也遇到过同样的问题,请尝试查看这个链接:https://dev59.com/m-o6XIcBkEYKwwoYPSL7#10962615 - Ana Llera
2个回答

1
我不太确定你为什么需要这个,但是你可以在滚动视图中添加另一个线性布局,将其权重设置为0,而你的内容线性布局可以有1的权重,这样你就不会在滚动视图中出现任何黑暗部分。希望我的意思能表达清楚 :)

0

wrap_content的解决方案可以是:您可以为父线性布局使用weightsum,并为每个子元素使用layout weight。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接