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

How to auto adjust margin between two vertical buttons based on their visibilities?

我有 2 个按钮在 Android XML 布局中垂直对齐。两者之间相差16dpspace

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

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

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

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

我尝试了 LinearLayout, ConstraintLayout with vertical chain 但没有找到任何解决方案。

任何帮助都会很棒。

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

您可以在 ConstraintLayout doc

中阅读更多相关信息

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

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