2015-01-22 11 views
11

È il loro supporto diretto per la diapositiva da eliminare/archiviare (da destra a sinistra o da sinistra a destra) sull'elemento RecyclerView.Come eseguire il gesto di scorrimento sull'elemento RecyclerView senza terze parti lib

E invece di eliminare/archiviare voglio quattro pulsanti sotto la voce di elenco.

qualcosa di simile, ma per https://github.com/47deg/android-swipelistview recyclerview e il supporto ufficiale non alcuna terza parte lib

+0

Ho creato una piccola libreria che utilizza ItemTouchHelper per semplificare la creazione di gesti, puoi trovarlo qui github.com/olmur/rvtools –

risposta

7

Sì, lo si può fare con la classe ItemTouchHelper fornita dalla libreria di supporto.

P.S. Ho dovuto farlo l'altro giorno e volevo anche evitare di usare la lib di terze parti se possibile. La libreria potrebbe fare molto più del necessario e per questo potrebbe essere più complesso del necessario nel tuo caso. Può anche non essere necessario aumentare il numero di metodi. Questo è solo un esempio dei motivi per cui dovresti evitare di aggiungere lib come soluzione rapida per il tuo problema.

MODIFICA: ho provato questo, vedere questo blog post e questo github repo.

+0

post di blog di grandi dimensioni, tuttavia sei riuscito a implementare uno swipe per l'elenco di azioni utilizzando questo approccio? –

+0

Non sono sicuro di capire cosa intendi? Scorri per l'elenco delle azioni? –

+0

Sì, scorri per mostrare un'azione dietro la vista di riga. Solo per curiosità più che altro. –

1

Perché non si vuole utilizzare una libreria di terze parti? Se vuoi quattro pulsanti, modifica quella libreria (puoi rispettare i termini della licenza)

So che la tua domanda è per non usare una lib, ma trovo questa lib leggera e pronta per l'uso. Se vuoi dare un'occhiata a quello che fanno, sfoglia semplicemente il codice.

MODIFICA: Here sei un esempio per l'utilizzo di una visualizzazione personalizzata.

3

Sì, c'è. Usa ItemTouchHelper. Prova a clonare this project e vedere come viene utilizzato.

Per specifiche file, vedi linea 87

Per le persone pigre che non vogliono fare clic sui link, questo è il modo di messa a punto:

ItemTouchHelper.SimpleCallback simpleCallback = 
      new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.RIGHT) { 
       @Override 
       public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, 
             RecyclerView.ViewHolder target) { 
        return false; 
       } 

       @Override 
       public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { 
        //do things 
       } 
      }; 

    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleCallback); 
    itemTouchHelper.attachToRecyclerView(recyclerView); 

Il recyclerView è la vista detenzione riciclatore variabile.

Ci sono altre direzioni oltre a ItemTouchHelper.RIGHT, provare a sperimentare.

Problemi correlati