2011-10-21 7 views
6

Pracuję nad aplikacją, która umożliwia użytkownikom zamawianie elementów z widżetu Galeria. Użytkownik musi mieć możliwość wyboru zamówienia z widżetu Galeria. Zamówienia powinny być wyświetlane jako obrazy w Galerii, a użytkownik musi mieć możliwość przeciągnięcia obrazu i umieszczenia go na przycisku zamówienia.Przeciąganie i upuszczanie obrazów z galerii Android

Utknąłem w części "przeciągnij i upuść". Jak przeciągać i upuszczać obrazy przy użyciu widżetu Galeria w systemie Android?

+0

Witam chcę tego samego w moim projekcie, jeśli dostaniesz jakieś rozwiązanie z uprzejmą prośbą o opublikowanie. –

+0

cześć. znalazłeś jakieś rozwiązanie? – SoH

Odpowiedz

1

nigdy nie zrobił tego, więc nie mogę powiedzieć na pewno, ale tutaj jest jak chciałbym podejść do problemu:

bym przedłużenia istniejącej galerii. Następnie Zastąp metodę onDown lub coś podobnego, aby móc wykryć, który obraz został dotknięty.

Następnie wyświetliłbym nowy widok obrazu z obrazem, na którym znajduje się palec, który słucha dotkniętego przeniesionego wydarzenia.

następnie po dotknięciu zwolniony, możesz sprawdzić, gdzie spadł komponent.

-

To może być również pomysł, aby napisać swój własny szybki galerię w panelu przewijania ten sposób masz większą kontrolę mor nad wydarzeniami;)

Cheers

Jason

+0

To samo wykorzystanie funda w moim projekcie, wziąłem matrycę obrazu i poprawiłem Linelayout i podałem do niej poziome zwój., Ale chcę przeciągnąć i upuścić w galerii lub coś podobnego. Dag & drop Możliwe w ListView https://github.com/commonsguy/cwac-touchlist –

1

Jednym ze sposobów jest rozszerzenie galerii i wdrożenie AdapterView.OnItemClickListener.

Twoje działanie przeciągania mogą być realizowane jako:

@Override 
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, 
     long id) { 
    if (!view.isTouched()) { 
     return false; 
    } 
    customDragController.startDrag(view, this, view, CustomDragController.MOVE); 
    return true; 
} 

Dla pełniejszego przykład jak to może być realizowane w tym customDragController Proszę spojrzeć na this projektu github.