Mam BottomSheetDialogFragment
z RecyclerView
. Problem polega na tym, że chcę wyłączyć funkcję "przeciągnij i zamknij" z BottomSheetDialogFragment
tak długo, jak RecyclerView
nie jest przewijany w górę (obecnie nie mogę przewinąć mojego RecyclerView
, ponieważ próba zawsze zamknie BottomSheetDialogFragment
). Wszelkie pomysły, jak to osiągnąć?BottomSheetDialogFragment - Pozwól na przewijanie dziecka
Odpowiedz
zmienić zachowanie w BottomSheetDialogFragment w metodzie setupDialog:
CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) ((View) contentView.getParent()).getLayoutParams();
final CoordinatorLayout.Behavior behavior = layoutParams.getBehavior();
if (behavior != null && behavior instanceof BottomSheetBehavior) {
((BottomSheetBehavior) behavior).setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_HIDDEN) {
dismiss();
}
if (newState == BottomSheetBehavior.STATE_DRAGGING) {
((BottomSheetBehavior) behavior).setState(BottomSheetBehavior.STATE_EXPANDED);
}
}
@Override
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
}
});
}
to całkowicie wyłączy funkcję zamykania, ale mogę sprawdzić, czy' RecyclerView' jest przewijany do góry, to powinno działać – prom85
nie działa dla Nestedscrollview –
tylko traktować go jako BottomSheetDialog, po prostu wyłączyć i jego ciągnięcia lub przesuwania Gdy funkcja Touch.
Kiedy utworzyć BottomSheetDialog, zostanie automatycznie owinąć swój układ w CoordinatorLayout, więc jeśli chcesz uzyskać zachowanie z widoku, zadzwoń
ostatecznej zachowanie BottomSheetBehavior = BottomSheetBehavior .from ((Widok) view.getParent());
Dzięki temu zachowaniu możesz zrobić to, czego potrzebujesz.
final BottomSheetBehavior behavior = BottomSheetBehavior.from((View) view.getParent());
behavior.setHideable(false);
behavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
}
@Override
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
});
To zadziałało dla mnie. Mam nadzieję, że pomoże.
- 1. Ustaw stan BottomSheetDialogFragment na rozwinięty
- 2. Zadzwoń removeView() na rodzica dziecka najpierw
- 3. BottomSheetDialog/BottomSheetDialogFragment - którego użyć i jak?
- 4. TravisCI Pozwól awarie na przecięciu dwóch elementów
- 5. Przewijanie na dużym płótnie
- 6. Elementy FadeIn na przewijanie
- 7. Pozwól użytkownikowi przyciąć obraz
- 8. Obsługa pozwól w hipotezie
- 9. płynne przewijanie/przewijanie inercyjne/przewijanie impulsu
- 10. Css na zmiany unosić dziecka tle
- 11. Prevent javascript onclick na elemencie dziecka
- 12. Dokonywanie Div naprawiony na przewijanie
- 13. Przewijanie strony Java na Androidzie
- 14. Fullpage.js Zjedź poziomo na przewijanie
- 15. Pozwól samopodpisanym certyfikatami HTTPS wrapper
- 16. BottomSheetDialogFragment - Jak ustawić wysokość rozwiniętą (lub minimalne przesunięcie górne)
- 17. Widelec rodzica dziecka komunikacja
- 18. Otwieranie formularza dziecka z innego formularza dziecka i ustawianie MDI na formularzu rodzica - jak to zrobić?
- 19. Z wyłączeniem ostatniego dziecka
- 20. Dodawanie dziecka w QMainWindow
- 21. Indeks dziecka XElement
- 22. Pozwól TextBox być zmieniany, ale nie rosną na wejściu użytkownika
- 23. Pozwól użytkownikom na zmianę rozmiaru Expander w WPF
- 24. Kontrola dostępu Pozwól na problem pochodzenia w Angular 2
- 25. Jenkins HTML Publisher Plugin: pozwól na problem ze skryptem
- 26. Pozwól, aby pomoc() działała na obiekt funkcji częściowej
- 27. Zdarzenie FileDrop WPF: pozwól tylko na określone rozszerzenie pliku
- 28. Pozwól powiększanie zasięgu iFrame, ale nie na stronie w iOS
- 29. Przewijanie dziecięcej wersji w AndEngine
- 30. Przewijanie poza div spowoduje przewijanie zawartości
Możesz użyć NestedScrollView jako rodzic RecyclerView. To może pomóc. –
To nie pomoże. A 'RecyclerView' obsługuje już zagnieżdżony przewijany widok z samego pudła już ... – prom85