根据开关状态,显示一个或两个按钮的细分或不细分



i在Kotlin中开发了Android应用程序的屏幕(。我正在寻找一个很好的练习和一个示例来显示一个或两个按钮,具体取决于开关的状态。

如果禁用了交换机,我想显示一个单个按钮,该按钮占据了屏幕的整个宽度(匹配父母(。如果激活开关,我希望两个按钮在同一条线上显示,宽度为50%。

如何设置这样的结构?

您应该在下面的两个上使用ConstraintLayoutmatch_constraint(0DP(。注意使用链式和约束的使用。

通过将可见性设置为一个按钮上的GONE,您会看到另一个将占据整个宽度。您可以使用tools:visibility="gone"在布局编辑器中对其进行测试。

        <Button
            android:id="@+id/buttonLeft"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="8dp"
            android:text="@string/button_left_text"
            app:layout_constraintEnd_toStartOf="@+id/buttonRight"
            app:layout_constraintHorizontal_chainStyle="spread"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/topElement" />
        <Button
            android:id="@+id/buttonRight"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="8dp"
            android:text="@string/button_right_text"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/buttonLeft"
            app:layout_constraintTop_toBottomOf="@+id/topElement" />

最新更新