gpt4 book ai didi

java - RelativeLayout 中的 LinearLayout 使用 super 父级作为父级

转载 作者:搜寻专家 更新时间:2023-11-01 09:11:03 26 4
gpt4 key购买 nike

我有以下布局:

<LinearLayout width:fill height:fill >
<RelativeLayout width:fill height:wrap >
<ImageView width:fill height:wrap >
<LinearLayout width:wrap height:wrap />
</RelativeLayout>
</LinearLayout>

最里面的LinearLayout在涉及到垂直属性的时候好像完全不知道自己在RelativeLayout里面。重力只在水平方向起作用。出于所有 Intent 和目的(垂直),内部 LinearLayout 认为外部 LinearLayout 是其父级。对齐父级 Top/Bottom 会拉伸(stretch)它和 RelativeLayout 以填充外部 LinearLayout。

最终,我在这里想要的是相对布局高度将 imageview 包裹起来,就像它是它的背景一样(尽管它意味着覆盖在背景之上的另一个 View 之上),以及线性布局只需在相对布局的约束内工作即可。

此外,我希望能够剪裁超出包裹 ImageView 的相关布局边界的任何内容。我最好的选择是什么?

最佳答案

我认为您的问题是 wrap_content 没有限制 View 的上限(至少由父级限制)。因此,您的 RelativeLayout 的高度可以继续达到其父级的完整尺寸。如果它的父级也不是 wrap_content,它会延伸到它的父级,依此类推,直到到达具有上限的父级。

在这种情况下,您的顶级父级受手机尺寸的限制,因此它停在那里。而不是在最内层的 LinearLayout 上使用重力。在最内层的 LinearLayout 上使用属性 layout_centerInParent="true"。除非布局变得比您的 ImageView 大,否则它应该符合您的 RelativeLayout 的中心。

编辑:您可能还想尝试 ImageView 的不同缩放类型。有些可以在不裁剪或扭曲比例的情况下将图像缩放到尽可能大。有些会始终填满整个 View ,但可能会裁剪或扭曲图像。

关于java - RelativeLayout 中的 LinearLayout 使用 super 父级作为父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8300448/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com