i在Kotlin中开发了Android应用程序的屏幕(。我正在寻找一个很好的练习和一个示例来显示一个或两个按钮,具体取决于开关的状态。
如果禁用了交换机,我想显示一个单个按钮,该按钮占据了屏幕的整个宽度(匹配父母(。如果激活开关,我希望两个按钮在同一条线上显示,宽度为50%。
如何设置这样的结构?
您应该在下面的两个上使用ConstraintLayout
和match_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" />