2015-04-23 12 views
5

Sto lavorando su trascinamento tra due diversi frammenti visibili contemporaneamente sull'interfaccia utente.Trascinare e rilasciare tra due frammenti

Voglio trascinare la vista da un frammento all'altro frammento. Sono in grado di trascinarlo tra il frammento ma quello che sto affrontando non è buono è che non riesco ad ascoltare onDrag sul secondo frammento per la visualizzazione del primo frammento.

In breve, OnDragListener sul secondo frammento dovrebbe ascoltare le viste trascinate dal primo frammento.

Ho cercato molto su google e stackoverflow. Non ho trovato risposta.

Drag and Drop view between two Fragments

drag and drop between two fragments?

ho qualcuno sa si prega di condividere.

risposta

0

Hai pensato di creare una Vista sovrapposta sopra entrambi i Frammenti, che non dovrebbero intercettare i tocchi, ma non appena inizi a trascinare la vista - una copia di essa verrà creata in questa sovrapposizione e seguirà il trascinamento? Non riesco a vedere nessun altro modo di implementarlo, dal momento che due frammenti hanno gerarchie di viste separate e l'unico modo che vedo è il trasferimento della vista attraverso la gerarchia di visualizzazione delle attività

BTW c'è un modo per evitare l'uso di due frammenti? Che tipo di caso d'uso hai?

+0

Sto lavorando su tablet per un'applicazione che contiene 5 sezioni diverse che devono essere visualizzate contemporaneamente. Per mantenere pulito il codice, ho utilizzato più frammenti per gestirli separatamente. Qualcuno di più i frammenti interagiscono tra loro passando i dati. Ci dovrebbe essere un modo come creare un'interfaccia, ma ancora non sono in grado di farlo in modo appropriato per questo scenerio. – Googler

+0

Quindi suggerirei di dare un'occhiata a [GestureOverlayView] (https://developer.android.com/reference/android/gesture/GestureOverlayView.html) poiché è un successore di FrameLayout - dovresti essere in grado di aggiungere viste qui e sembra avere funzionalità per delegare i tocchi alle viste sottostanti – Chaosit