如何根据可见性自动调整两个垂直按钮之间的边距?

Posted

技术标签:

【中文标题】如何根据可见性自动调整两个垂直按钮之间的边距?【英文标题】:How to auto adjust margin between two vertical buttons based on their visibilities? 【发布时间】:2021-08-25 12:02:07 【问题描述】:

我有 2 个在 android XML 布局中垂直对齐的按钮。两者之间有16dp的空间。

我希望该空间根据两个按钮的可见性进行切换。

当两者都可见时这样(它们之间的边距为 16dp):

当按钮 1 消失时就像这样(没有边距并且按钮 2 向上移动):

当按钮 2 消失时就像这样(现在按钮 1 下方没有边距):

我尝试了LinearLayout、ConstraintLayout和垂直链,但没有找到任何解决方案。

任何帮助都会很棒。

【问题讨论】:

看看gone margins。我想这就是你要找的。​​span> 谢谢。这解决了我的问题。 【参考方案1】:

如果您使用ConstraintLayout,您可以使用layout_goneMarginXXX 属性实现您想要的。

您可以在ConstraintLayout doc了解更多信息

对于你的问题,你所要做的就是设置:

...
layout_goneMarginBottom="0dp"
...

【讨论】:

以上是关于如何根据可见性自动调整两个垂直按钮之间的边距?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用单选按钮“IsChecked”属性控制文本框的可见性?

如何防止imageview重叠?

如何根据信号改变pyqt中重叠小部件的可见性

更改 div 中跨度的可见性和大小分为两行

调整大小时 QGraphicsView 中项目位置的边距

如何根据屏幕大小调整按钮的图像和文本大小(自动布局)