在其他两个之间垂直居中视图
Posted
技术标签:
【中文标题】在其他两个之间垂直居中视图【英文标题】:Vertically center view between two others 【发布时间】:2017-05-30 10:38:17 【问题描述】:我想知道如何使用约束将一个对象垂直居中于另外两个对象之间。我使用故事板。标签和按钮具有使用自动布局的约束(标签:顶部、前导、尾随、高度;按钮:底部、前导、尾随、纵横比)。
这就是所有的样子:
我希望约束 1 和 2(看一下图像)的长度相同,以便“视图”在“标签”和“按钮”之间垂直居中。在较小的屏幕尺寸中,放置具有相同高度的隐藏视图对我不起作用。 谢谢!
PS:一件重要的事情是:我希望视图居中,并且不是所有元素都等距!
【问题讨论】:
Nishant 答案即使对于可变标签和按钮大小也适用。但在您的情况下,标签和按钮具有恒定的高度。所以添加垂直中心约束,然后调整它的常量以匹配中心就可以了。在这种情况下,常量值 = (标签顶部空间 + 高度) - (按钮底部空间 + 高度) / 2。这样可以避免多出一个视图。 【参考方案1】:采用顶部约束 0 到顶部视图(标签)和底部约束 0 到底部视图(按钮)的透明视图。现在将要垂直居中的视图添加到两个视图中。并将其作为水平和垂直中心的约束添加到父视图。
【讨论】:
【参考方案2】:您可以在此处尝试 stackview。将所有项目放入堆栈视图并提供相等的间距
【讨论】:
以上是关于在其他两个之间垂直居中视图的主要内容,如果未能解决你的问题,请参考以下文章
android 代码中设置控件的垂直居中和两个控件之间的距离。