From 9c07b981d4da4cb8437223fd51d285b1060b1b90 Mon Sep 17 00:00:00 2001 From: Praveen Kumar Date: Mon, 15 Apr 2024 11:34:16 +0530 Subject: [PATCH] Fix scrolling in bottom sheet for groups --- .../aegis/ui/views/EntryListView.java | 9 +++ .../main/res/layout/dialog_select_groups.xml | 60 ++++++++++++------- 2 files changed, 48 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryListView.java b/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryListView.java index 3cbc4582..27228a6f 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryListView.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryListView.java @@ -20,6 +20,8 @@ import androidx.annotation.AttrRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.StyleRes; +import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.core.widget.NestedScrollView; import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.ItemTouchHelper; @@ -49,6 +51,7 @@ import com.bumptech.glide.ListPreloader; import com.bumptech.glide.RequestBuilder; import com.bumptech.glide.integration.recyclerview.RecyclerViewPreloader; import com.bumptech.glide.util.ViewPreloadSizeProvider; +import com.google.android.material.bottomsheet.BottomSheetBehavior; import com.google.android.material.bottomsheet.BottomSheetDialog; import com.google.android.material.card.MaterialCardView; import com.google.android.material.chip.Chip; @@ -505,6 +508,12 @@ public class EntryListView extends Fragment implements EntryAdapter.Listener { private void initializeGroupChip() { View view = getLayoutInflater().inflate(R.layout.dialog_select_groups, null); BottomSheetDialog dialog = new BottomSheetDialog(requireContext()); + NestedScrollView scrollView = view.findViewById(R.id.scrollView); + ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) scrollView.getLayoutParams(); + layoutParams.matchConstraintMaxHeight = getResources().getConfiguration().screenHeightDp; + + dialog.getBehavior().setState(BottomSheetBehavior.STATE_EXPANDED); + dialog.getBehavior().setSkipCollapsed(false); dialog.setContentView(view); ChipGroup chipGroup = view.findViewById(R.id.groupChipGroup); diff --git a/app/src/main/res/layout/dialog_select_groups.xml b/app/src/main/res/layout/dialog_select_groups.xml index 8bdad3d7..6c176c4e 100644 --- a/app/src/main/res/layout/dialog_select_groups.xml +++ b/app/src/main/res/layout/dialog_select_groups.xml @@ -1,50 +1,69 @@ - + android:layout_height="wrap_content"> + android:layout_height="wrap_content" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + android:textSize="20sp" + app:layout_constraintTop_toBottomOf="@+id/drag_handle" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" /> - + android:layout_height="0dp" + android:minWidth="150dp" + app:layout_constraintHeight_default="wrap" + app:layout_constraintTop_toBottomOf="@+id/text_title" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent"> - - - + android:layout_height="wrap_content" + android:minHeight="150dp" + android:orientation="vertical"> + + + + + +