9

Se non è necessario concedere il supporto per le versioni precedenti di Android e posso semplicemente utilizzare l'API 17, esiste un modo alternativo per implementare lo swipe orizzontale molto pubblicizzato (come in gmail) e non utilizzare viewpager, fragmentsactivities (le nuove API hanno già frammenti ...) ecc. per liberarsi della libreria di supporto?Come posso implementare lo scorrimento orizzontale senza utilizzare la libreria di supporto?

Tutte le esercitazioni che ho trovato per lo scorrimento orizzontale mostrano come farlo utilizzando la libreria di supporto e FragmentActivities. Altrimenti qual è il vantaggio delle nuove API se non riesco a utilizzare le loro classi e metodi nativi?

risposta

4

per sbarazzarsi della libreria di supporto

ViewPager esiste solo nella libreria di supporto Android. La libreria di supporto Android non è solo per i backport.

nuove API hanno già frammenti

ViewPager possono utilizzare nativo livello API 11 frammenti, anche se potrebbe essere necessario creare il proprio PagerAdapter. In alternativa, è possibile utilizzare ViewPager senza frammenti, utilizzando solo gli ordinari oggetti View o ViewGroup per le pagine.

c'è un modo alternativo per implementare la strisciata orizzontale molto pubblicizzato

Si sono invitati a scrivere il proprio sostituto per ViewPager. La maggior parte degli sviluppatori preferisce riutilizzare lo ViewPager, per ridurre i costi di sviluppo e manutenzione.

C'è anche HorizontalScrollView, un open source HorizontalListView mobile, e così via.

+4

Ok, quindi suppongo che dovrei dare la migliore risposta a questo e andare avanti con la libreria di supporto. Non ho alcun motivo specifico per non utilizzare viewpager oltre al fatto che volevo mantenere libera la libreria di supporto app. Dato che lo scorrimento orizzontale è così consigliato sulle linee guida di Android, ho pensato che esistesse un modo alternativo incorporato in modo nativo nelle nuove API che stavo ignorando. Ho pensato che l'approccio che viene solitamente descritto usi la libreria di supporto poiché la maggior parte degli sviluppatori probabilmente vogliono mantenere l'app compatibile con le vecchie versioni di Android che sono ancora ampiamente diffuse. – Danny

+0

@CommonsWare Ho riscontrato un problema durante l'utilizzo di ViewPager. Potete per favore guardare questo ... http://stackoverflow.com/questions/30303488/how-to-update-fragments-data-used-in-viewpager-view-is-not-showing-the-updated – AB1209

1

È possibile scrivere il proprio FragmentPagerAdapter che funziona con android.app.Fragment anziché android.support.v4.app.Fragment per ridurre al minimo la dipendenza dalla libreria di supporto. È sufficiente creare la propria classe per l'adattatore (in base a FragmentPagerAdapter dalla libreria di supporto che può essere trovata nella cartella <android-sdks>/extras/android/support/v4/src/java/android/support/v4/app/). Solo la modifica è nella sezione di importazione: è necessario fare riferimento a Fragment, FragmentManager e FragmentTransaction da android.app anziché a android.support.v4.app.

Problemi correlati