Mam 2 gridwory i mogę przeciągać przedmioty z jednego do drugiego. Ale po upuszczeniu widoku Android odgrywa animację, która przenosi się do pierwotnej pozycji upuszczonego widoku. Tak: Wpisz opis obrazu tutaj

W tym przykładzie upuściłem górną pozycję siatki do siatki do dolnej siatki.

Próbowałem zniszczyć przedmiot i Dragshadow po zrzuceniu go. Ale to nie pomogło. Ta animacja gra tylko na urządzeniach z systemem operacyjnym Android Nougat (24+). Więc zastanawiam się, jak mogę go wyłączyć?

4
DaurenD 15 luty 2017, 15:07

2 odpowiedzi

Najlepsza odpowiedź

Chodzi o View.OnDragListener. W moim przykładzie miałem OnDragListener tylko na Topgrid. Ale jeśli ustawię OnDragListener na obu ich, wszystko działa zgodnie z oczekiwaniami. Myślę, że Android uważa, że nie poradziłeś sobie z upadkiem, powodować widoczny, gdzie upuszczenie przedmiotu z góry nie ma draglistener

0
DaurenD 6 grudzień 2017, 13:06

To wyjaśnić wcześniejszą odpowiedź. Jeśli chcesz pozbyć się animacji, która występuje po upuszczeniu, ustaw ondraglistener, który nie robi nic w widoku treści aktywności:

View theContentView = theContext.findViewById(android.R.id.content);
theContentView.setOnDragListener(xxx);

Gdzie XXX jest ondraglistererem, którego metoda Ondrag (...) nie robi nic, z wyjątkiem zwrotu prawdą.

0
dazed 31 październik 2018, 01:01