对多个元素的 Gone Margin 约束

Gone Margin constraints to multiple elements

我有一个包含 3 个按钮的约束布局,如下所示。

<androidx.appcompat.widget.AppCompatImageButton
    android:id="@+id/img_subscribe"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="@dimen/dp20"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:visibility="gone"
    />
<androidx.appcompat.widget.AppCompatImageButton
    android:id="@+id/img_start_over"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="@dimen/dp45"
    app:layout_constraintStart_toEndOf="@id/img_subscribe"
    app:layout_constraintTop_toTopOf="parent"
    android:visibility="gone"
    />
<androidx.appcompat.widget.AppCompatImageButton
    android:id="@+id/img_trailer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="@dimen/dp45"
    app:layout_goneMarginLeft="@dimen/dp20"
    app:layout_constraintStart_toEndOf="@id/img_start_over"
    app:layout_constraintTop_toTopOf="parent"
    android:visibility="visible"
    />

我只想在前两个按钮不可见时为第三个按钮留出边距。但是在当前的代码中,如果前一个按钮不可见,它就会占用空白。当且仅当前两个按钮不可见时,我怎样才能让第三个按钮占据空白。

感谢任何建议。

这是 Chains 在约束布局中的一个很好的用例。 Chains in constraintlayout

不要使用线性布局,而是将您的按钮链接在一起。第三个按钮将按照您的意愿取走空白