将视图的顶部和底部限制在同一准则以使其集中,它应该有效吗?

Constraining top and bottom of a view to the same guideline to centralize it, is it supposed to work?

我正在使用指南在特定点的两个视图之间拆分屏幕。我还需要将 CardView 集中到同一点。我将 CardView 顶部和底部线限制在同一点,即指南,因为它有意义。

它似乎可行,但我找不到任何关于这种方法的参考资料,而且我还找到了一些使用不同方法的示例:制作一个稍大的视图来包裹主视图,然后对齐主视图的底部CardView 到这个更大视图的底部。像这样:

<View
     height="X+Y">

    <View
        id="@+id/view"
        height="X">
    </View>

    <CardView
        height="2Y"
        bottom_toBottomOf="view"/>

</View>

所以我的问题是:它真的应该工作,还是恰好在我的模拟器中工作?

Constraining top and bottom of a view to the same guideline to centralize it, is it supposed to work?

是的,为了将视图垂直居中到另一个视图的边缘(或参考线),您需要:

  • 将视图的顶部约束到 edge/guideline。
  • 将视图底部限制在 edge/guideline。

这同样适用于将视图水平居中到垂直 edge/guideline。

It seems to work, but I couldn't find any reference to this approach

Here is a source 那个,在居中到边缘编辑段中的兄弟

also I found some examples using a different one: making a slightly bigger view to wrap the main view, and then aligning the bottom of the CardView to the bottom of this bigger view.

这可行,但您必须在布局中定义预定义的高度,就像您使用 X 和 Y 一样。