2011-10-21 5 views
6

Je travaille sur une application qui permet aux utilisateurs de commander des éléments à partir d'un widget Galerie. L'utilisateur doit avoir la possibilité de sélectionner une commande dans le widget Galerie. Les commandes doivent s'afficher en tant qu'images sur la Galerie et l'utilisateur doit avoir la possibilité de faire glisser une image et de la placer sur le bouton de commande.Glisser et déposer des images Galerie Android

Je suis coincé avec la pièce glisser-déposer. Comment puis-je faire glisser et déposer des images en utilisant le widget Galerie dans Android?

+0

bonjour je veux même dans mon projet si vous obtiendrez n'importe quelle demande aimablement demande à poster. –

+0

salut. Avez-vous trouvé une solution? – SoH

Répondre

1

jamais fait cela pour que je ne peux pas dire pour sûr, mais voici comment j'aborder le problème:

J'étendrait la galerie existante. Remplacez ensuite la méthode onDown ou quelque chose de similaire pour pouvoir détecter quelle image est touchée. Ensuite, je voudrais afficher une nouvelle vue de l'image avec l'image où se trouve le doigt, qui écoute l'événement touché touché.

puis sur le relâchement tactile, vous pouvez vérifier où le composant a chuté.

-

Il pourrait également être une idée d'écrire votre propre galerie rapide dans un panneau de défilement, de cette façon que vous avez beaucoup de contrôle de mor sur les événements;)

Vive

Jason

+0

Même utilisation de funda dans mon projet, j'ai pris le tableau imageview et corrige dans linearlayout et donne le défilement horizontal à lui ..mais je veux glisser et déposer dans la galerie ou quelque chose comme ça .Drag & Drop possible dans ListView https://github.com/commonsguy/cwac-touchlist –

1

Une approche consiste à étendre Gallery et à implémenter AdapterView.OnItemClickListener.

Votre action de déplacement pourrait être mis en œuvre comme:

@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; 
} 

Pour un exemple plus complet de la façon dont cela peut être mis en œuvre, y compris un customDragController s'il vous plaît jeter un oeil à this projet GitHub.

Questions connexes