改变 LinearLayout 的背景会改变它的宽度和高度
Posted
技术标签:
【中文标题】改变 LinearLayout 的背景会改变它的宽度和高度【英文标题】:Changing background of LinearLayout changes it's width & height 【发布时间】:2014-11-01 08:36:48 【问题描述】:我尝试将 LinearLayout 的背景更改为一些木质纹理,但它会根据木质背景的尺寸改变 LinearLayout 的宽度和高度! 我需要 LinearLayout 来忽略背景尺寸!
<LinearLayout
android:id="@+id/LinearLayout1"
android:layout_
android:layout_
android:background="@drawable/wood"
android:orientation="vertical" >
some content here which I need to wrap height to them!
</LinearLayout>
【问题讨论】:
可能有用:***.com/questions/8202647/… 【参考方案1】:您的LinearLayout's
高度为"wrap_content"
。这意味着它需要内容的高度(您的背景)。您可以将其更改为"match_parent"
或在dp
中为其指定固定大小。这样即使有背景也保持不变。
【讨论】:
但我希望它的大小适合我的真实内容,而不是背景。 根据您的布局为您的父布局提供“weightSum”及其子“权重”。使所有孩子的高度为 0dp。 欲了解更多信息,***.com/questions/7452741/…【参考方案2】:如果您希望它是固定的,可以使用 dp 中的固定高度和宽度,或者动态计算旧背景的高度和宽度,然后通过将 LinearLayout 高度和宽度设置为您以编程方式计算的大小来应用新背景。
【讨论】:
【参考方案3】:我只是将其替换为另一个容器,例如 ConstraintLayout
.. 我没有时间弄清楚。
【讨论】:
以上是关于改变 LinearLayout 的背景会改变它的宽度和高度的主要内容,如果未能解决你的问题,请参考以下文章
Unity中根据字体的长度修改字体框和背景图width的大小