Mam dolny arkusz z jego wysokością i szerokością ustawioną na match_parent
. Więc gdy na przycisku kliknij ustawić zachowanie do STATE_EXPANDED
tak:Zrozumienie zachowania BottomSheet Collapsed vs Hidden
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
My Bottomsheet jest zdefiniowana jak poniżej:
<FrameLayout
android:id="@+id/bottom_sheet"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:elevation="@dimen/design_appbar_elevation"
app:behavior_hideable="true"
app:layout_behavior="@string/bottom_sheet_behavior">
<include
android:id="@+id/bottom_sheet_content"
layout="@layout/bottomsheet_layout" />
</FrameLayout>
mam stany monitoringu z BottomSheet callbacków.
- Klikam na przycisk i dolny arkusz rozwinięty do pełnego ekranu.
- Jego bieżącym stanem jest
STATE_EXPANDED
- Szybko przesuń palcem w dół na dolnym arkuszu. (Nie w pełni przeciągnąć aż zamknięte, proste przesuń w dół jak przewijanie)
- zatrzyma się na środku, a jego stan jest rejestrowany jako
STATE_COLLAPSED
- Gdybym przesuń ponownie to wszystko ma, a jego stan jest
STATE_HIDDEN
Nie rozumiem, dlaczego zatrzymuje się w środku. Jak mogę go ukryć za pomocą jednego machnięcia.
Próbowałem tego, ustawiając peek_height
na 0dp
. Dzięki temu nigdy nie natrafi na STATE_HIDDEN
. Po ukryciu jego stan staje się STATE_COLLAPSED
. Po prostu nie rozumiem tych stanów.
Jak uzyskać STATE_HIDDEN
jednym pociągnięciem w dół?