Cosa voglio ottenere: Voglio avere una vista all'interno di un layout scorrevole (Recyclerview
con GridlayoutManager
) con riquadri (Visualizzazioni) al suo interno. Trascinare e rilasciare un oggetto all'interno di RecyclerView
dovrebbe regolare la posizione dell'icona e scambiare con gli altri elementi. Quando si avvia un trascinamento, un'icona sopra RecyclerView
si trasforma in icona del cestino e trascinando la vista su questa icona la elimina da questo RecyclerView
.Trascinare la vista all'esterno di Recyclerview
ho provato questo excellent tutorial, ma non ho trovato un modo per gestire il trascinamento di fuori del Recyclerview
come ItemTouchHelper.Callback
utilizza solo Recycler.ViewHolder
elementi come possibili obiettivi.
Il metodo interpolateOutOfBoundsScroll()
fornisce un feedback se la vista si sposta oltre i limiti, ma restituirà solo la dimensione totale che è fuori dallo schermo, ma non le coordinate. Inoltre, il tentativo di trascinare la vista all'esterno di Recyclerview
comporta sempre il taglio della vista in cui passa i bordi dello Recyclerview
.
Qualcuno ha un'idea di come ottenere questo effetto?
Grazie per la vostra risposta! La vista superiore è un 'RelativeLayout' che contiene alcuni' Textview ', 'Imageviews' e anche' Imageview' che dovrebbe trasformarsi in un cestino. Mi piace la tua idea con l'intestazione appiccicosa. Se il cestino "Imageview' è l'unico elemento nell'intestazione appiccicosa e non lo riempie completamente, c'è un modo per impedire agli utenti di trascinare le viste nelle posizioni accanto alla riga" Imageview' del cestino? Lo proverò ora, – Eve
@Eve, non scambiarli se la posizione di destinazione è nell'intestazione – gilgil28
continuando a pensare a questo, non c'è alcun modo con l'approccio classico da [Google] (http://developer.android .com/guide/topics/ui/drag-drop.html) per definire un'ombra di trascinamento in modo che solo l'ombra venga trascinata non dalla vista stessa? – Eve