#android #button #grouping #android-constraintlayout
#Android #кнопка #группировка #android-constraintlayout
Вопрос:
Я не могу сделать группу кнопок видимой или невидимой.
Цель состоит в том, чтобы при нажатии на одну из кнопок группа становилась невидимой, а следующая группа кнопок становилась видимой. Использование миграции на AndroidX.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<androidx.constraintlayout.widget.Guideline
android:id="@ id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_begin="206dp" />
<androidx.constraintlayout.widget.Guideline
android:id="@ id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.5" />
<Button
android:id="@ id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="Button"
app:layout_constraintBottom_toTopOf="@ id/guideline2"
app:layout_constraintEnd_toStartOf="@ id/guideline"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@ id/button6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="Button"
app:layout_constraintBottom_toTopOf="@ id/guideline2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@ id/guideline"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Group
android:id="@ id/group4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible"
app:constraint_referenced_ids="button5,button6" />
</androidx.constraintlayout.widget.ConstraintLayout>
Я создаю группу с их кнопками и другими элементами, кнопки видны.
Комментарии:
1. какой код вы написали для события нажатия кнопки?
Ответ №1:
Попробуйте этот код .. при нажатии обе кнопки не видны.
Group group;
group=findViewById(R.id.group4);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
group.setVisibility(View.GONE);
}
});
Комментарии:
1. Ну, я понял это несколько дней назад. При использовании атрибутов в режиме разработки не отображается результат. Похоже, что это какой-то большой в Android Studio. Наконец, когда я запустил код, я увидел результат.
2. да, но невидимый не удаляет пробел, он содержит пробел, когда вы использовали gone, тогда он удаляет пробел.
Ответ №2:
Сделайте это в своем activity
Group group4 = findViewById(R.id.group4);
Group group5 = findViewById(R.id.group5);
......
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
group4.setVisibility(View.GONE);
group5.setVisibility(View.VISIBLE);
}
});