Ich habe in den letzten Tagen überall im Internet gesucht, ohne Erfolg. Ich versuche, so etwas wie eine BottomSheetDialog
zu kodieren, die entweder nach oben oder nach unten weggeklappt werden kann.Wie man eine BottomSheet-ähnliche Ansicht codiert, die nach oben oder unten verschoben werden kann
Wenn eine solche Ansicht von Grund auf neu codiert würde, wäre der Anwendungsfall wie folgt: Die Ansicht füllt den gesamten Bildschirm und kann nach oben oder unten gezogen werden (nur vertikale Bewegung). Beim Ziehen und Loslassen sollte die Ansicht eine Geschwindigkeit haben und sich entsprechend bewegen. Sobald sich die Ansicht außerhalb des Bildschirms befindet, sollte ein Rückruf ausgelöst werden, der angibt, ob sich die Ansicht nach oben oder nach unten bewegt hat.
Ich erwarte nicht, dass mir die Antwort ausgehändigt wird. Ich gehe davon aus, dass ich so etwas von Grund auf programmieren müsste. Ich habe keine Ahnung, wo ich anfangen soll. Welche Android-Komponenten (ViewDragHelper
, etc) könnte ich verwenden, um so etwas zu erstellen? Ich hatte etwas Erfolg mit nur einem OnTouchListener
, das für das MotionEvent.ACTION_MOVE
Kennzeichen überprüft und die empfangenen Bewegungsereignisdaten benutzt, um das LayoutParams
der Ansicht wie gezeigt here zu ändern. Wie würde ich dann über die Geschwindigkeit gehen?
Ein guter Start für Sie wird sehen [Nick Butcher] (https://twitter.com/crafty?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor) ist ["Animatable" Präsentation] (https : //www.youtube.com/watch? v = 86p1GPEv_fY), wo er erklärt, wie er eine solche Funktion in seiner Open-Source-App [Plaid] implementiert hat (https://github.com/nickbutcher/plaid). – azizbekian
Dank @azizbekian Ich schaue das Video jetzt –
@azizbekian Plaid hat genau das, was ich lernen muss! Ich danke dir sehr. Ich werde eine Antwort posten, sobald der Code fertig ist. –