2010-07-10 10 views
8

Sto sviluppando un'applicazione Android con tre attività molto simili. Vorrei che l'utente potesse passare da uno all'altro scorrendo a destra e a sinistra sullo schermo. In questo modo sono riuscito che fino ad ora:Android: come passare da un'attività all'altra come cambiare desktop nell'app Home?

Ho seguito questo post

Poi ho cambiato il metodo onSwipe() in questo modo:

@Override 
public void onSwipe(int direction) { 
    Intent intent = new Intent(); 

    switch (direction) { 

    case SimpleGestureFilter.SWIPE_RIGHT: 
    intent.setClass(this, TodoTodaySheet.class); 
    break; 
    case SimpleGestureFilter.SWIPE_LEFT: 
    intent.setClass(this, TrashSheet.class); 
    break; 

    } 
    startActivity(intent); 
} 

Funziona ma non ne sono del tutto soddisfatto di questo. Inoltre, non so se questo è l'approccio corretto.

Mi piacerebbe avere un comportamento simile a quello delle app Home, quando si cambia desktop. Quindi mi piacerebbe un'animazione più fluida e l'aspetto dell'attività chiamata dalla giusta direzione, ad es. dal lato sinistro dello schermo quando si scorre a destra.

Eventuali suggerimenti? Grazie mille.

+0

Questo suggerimento non è per lo scorrimento tra attività (io voglio farlo da solo, ma non ho ancora trovato il modo di farlo), ma il passaggio tra le visualizzazioni è fatto meglio con questo: ViewFlow https://github.com/ pakerfeldt/android-viewflow – Ted

+0

@dgraziotin quale approccio hai usato alla fine per scorrere le diverse attività? – juned

risposta

4

La schermata iniziale non scorre tra le attività di esso soltanto scorre tra opinioni diverse, come si può vedere in its' source code (linea 298 è dove gli schermi sono cambiato).

Se passi da un'attività all'altra, sei alla mercè della configurazione degli utenti & le capacità dei dispositivi riguardo a ciò che accade al display durante la transizione, quindi non c'è molto che tu possa fare.

+0

Pertanto, l'unico modo per ottenere ciò è utilizzare ViewFlipper come suggerisce Faisal, oppure avere un TabView e alcuni gesti per passare da una attività all'altra, come fa l'app News. – dgraziotin

+0

L'utilizzo di ViewFlipper potrebbe costringere l'utente a utilizzare una singola attività che ha implicazioni sul modo in cui il sistema operativo gestisce l'applicazione (ad esempio, il sistema operativo rimane con una scelta di kill all o nothing quando pulisce le risorse). –

1

Mentre probabilmente è meglio averli come tre attività separate, ho visto persone utilizzare ViewFlipper per ottenere un effetto simile in una singola attività.

Ecco un link con un po 'più di informazioni su di esso: http://www.inter-fuser.com/2009/07/android-transistions-slide-in-and-slide.html

+0

Grazie per questo. Vorrei evitare questo approccio, dal momento che le tre attività (che sono le attività in elenco) sono simili ma svolgono un compito piuttosto pesante (recupero di elementi dal database ecc.) – dgraziotin