gpt4 book ai didi

android - android :gravity ="center_vertical" for RelativeLayout and LinearLayout 的行为差异

转载 作者:行者123 更新时间:2023-11-30 00:58:20 26 4
gpt4 key购买 nike

假设我有两个要垂直居中的 View 。第一个 View 比第二个 View 大。

我注意到,如果我将这两个 View 放在 RelativeLayout 中,属性为 layout_height="wrap_content"android:gravity="center_vertical" 没有任何反应。这就是我得到的:

enter image description here

相反,如果我将这两个 View 放在 LinearLayour 中,属性为 layout_height="wrap_content"android:gravity="center_vertical" View 垂直居中:

enter image description here

最后,如果我将这两个 View 放在 RelativeLayout 中,其属性 layout_height 具有固定高度和 android:gravity="center_vertical"我得到与 LinearLayout 相同的结果。 View 垂直居中。

我希望在每种情况下 View 都垂直居中。您知道造成这种差异的原因吗?

最佳答案

LinearLayout 根据其方向(水平或垂直)处理其所有子对象。所以当你说重力时:“center_vertical”。您实际上是根据父布局进行引用。

在 RelativeLayout 的情况下,它使您能够指定子对象相对于彼此的位置(子对象 A 在子对象 B 的左侧)或相对于父对象(对齐到父对象的顶部)。

就我个人而言,我只会在 LinearLayouts 中使用重力,而在 RelativeLayouts 中使用 centerInParent。

关于android - android :gravity ="center_vertical" for RelativeLayout and LinearLayout 的行为差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39817167/

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