2013-07-21 39 views
11

Sul Google IO 2013, Google ha annunciato una nuova versione della libreria di supporto, che include la classe ViewDragHelper. Ho visto i documenti, ma non ho trovato nessun esempio di utilizzo di questa classe.ViewDragHelper: come si usa?

Ad esempio, situazione molto tipica: ho una vista personalizzata, che estende FrameLayout e consente di trascinare alcuni dei View all'interno. Per esempio, andiamo a Button. Eseguo l'override di onTouchEvent() e onInterceptTouchEvent() all'interno della mia visualizzazione personalizzata e, se il pulsante del rect contiene coordinate di tocco e questo non è un semplice clic, avvio il trascinamento.

Quindi, cosa devo fare con ViewDragHelper per ottenere quello? I clic sul pulsante dovrebbero essere elaborati correttamente.

+0

Si può cercare di controllare questo progetto su Git Hub: https://github.com/umano/AndroidSlidingUpPanel In realtà sto cercando di scoprire come funziona adesso. Attualmente mi sono concentrato su un momento in cui non riesco a trovare alcun ViewDragHelper nel mio jar della libreria di supporto. :) – SSemashko

+0

Questa classe si troverà solo nell'ultima versione di Support Library, datata maggio 2013. Prova ad aggiornare la tua libreria di supporto tramite SDKManager. Cerca nel pacchetto 'android.v4.support.widget'. – bvitaliyg

+0

Sei riuscito a ottenere un pulsante che gestisce sia clic che trascinamenti? –

risposta

12

Ecco un buon esempio che mostra come viene utilizzato ViewDragHelper. https://github.com/umano/AndroidSlidingUpPanel

utilizzare il metodo ViewDragHelper.create() per crearlo. Utilizzare shouldInterceptTouchEvent per determinare se è necessario intercettare l'evento di tocco dalle viste secondarie. usa il metodo smootSlideViewTo per spostare la vista figlio all'interno della tua vista personalizzata.

+0

smootSlideViewTo non funziona per me. Non riesco a trovare alcun esempio per utilizzarlo (eccetto SlidingUpPanel) – Vetalll