将视图的顶部和底部约束到相同的准则以集中它,它应该工作吗?

Posted

技术标签:

【中文标题】将视图的顶部和底部约束到相同的准则以集中它,它应该工作吗?【英文标题】:Constraining top and bottom of a view to the same guideline to centralize it, is it supposed to work? 【发布时间】:2021-09-24 19:46:17 【问题描述】:

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

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

<View
     >

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

    <CardView
        
        bottom_toBottomOf="view"/>

</View>

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

【问题讨论】:

【参考方案1】:

将视图的顶部和底部约束到相同的准则以使其集中,它应该起作用吗?

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

将视图的顶部限制到边缘/参考线。 将视图底部限制到边缘/参考线。

这同样适用于将视图水平居中到垂直边缘/参考线。

它似乎有效,但我找不到任何关于这种方法的参考

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

我还发现了一些使用不同示例的示例:制作一个稍微大一点的视图来包裹主视图,然后将 CardView 的底部与这个更大视图的底部对齐。

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

【讨论】:

以上是关于将视图的顶部和底部约束到相同的准则以集中它,它应该工作吗?的主要内容,如果未能解决你的问题,请参考以下文章

自动布局问题

为啥当我相对于父视图的底部进行约束时,它是从父视图的顶部操作的?现在是对的吗?

如何使用自动布局约束在单个屏幕中放置两个视图

iOS 故事板视图约束问题

自动布局约束未正确放置容器视图

iOS - 使用滚动视图的奇怪约束