2010-07-10 14 views
8

Estoy desarrollando una aplicación de Android que tiene tres actividades muy similares. Me gustaría que el usuario pueda alternar entre ellos deslizando el dedo hacia la izquierda y hacia la derecha en la pantalla. Así es como he conseguido que hasta ahora:Android: ¿Cómo cambiar entre actividades como cambiar de escritorio en la aplicación de inicio?

he seguido este post

Entonces cambió el método Onswipe() de esta manera:

@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); 
} 

Funciona, pero no estoy completamente satisfecho con esto Además, no sé si este es el enfoque correcto.

Me gustaría tener un comportamiento como el de las aplicaciones de inicio cuando se cambia de escritorio. Por lo tanto, me gustaría una animación más suave y la apariencia de la actividad llamada desde la dirección correcta, por ej. desde el lado izquierdo de la pantalla al deslizar a la derecha.

¿Alguna pista? Muchas gracias.

+0

Este consejo no es para deslizar entre actividades (quiero hacerlo yo mismo, pero no he encontrado ninguna manera de hacerlo todavía), pero cambiar entre vistas se hace mejor con esto: ViewFlow https://github.com/ pakerfeldt/android-viewflow – Ted

+0

@dgraziotin ¿qué enfoque usaste al fin para deslizarte por diferentes actividades? – juned

Respuesta

4

La pantalla principal no se desplaza entre las actividades que sólo se desplaza entre diferentes puntos de vista como se puede ver en its' source code (línea 298 es donde las pantallas son cambiado).

Si está cambiando de actividades, está a merced de la configuración de los usuarios & las habilidades de los dispositivos en cuanto a qué sucede con la pantalla durante la transición, por lo que no hay mucho que pueda hacer.

+0

Por lo tanto, la única manera de lograr esto es usar un ViewFlipper como lo sugiere Faisal, o tener un TabView y algunos gestos para alternar entre actividades, como lo hace la aplicación Noticias. – dgraziotin

+0

El uso de ViewFlipper lo constreñiría a usar una sola actividad que tiene implicaciones sobre cómo el sistema operativo administra su aplicación (por ejemplo, el sistema operativo tiene una opción de eliminar todo o nada cuando limpia los recursos). –

1

Si bien es probable que sea mejor tenerlos como tres actividades separadas, he visto personas usar un ViewFlipper para lograr un efecto similar en una sola actividad.

Aquí hay un enlace con un poco más de información al respecto: http://www.inter-fuser.com/2009/07/android-transistions-slide-in-and-slide.html

+0

Gracias por esto. Me gustaría evitar este enfoque, ya que las tres actividades (que son listas) son similares pero hacen una tarea bastante pesada (recuperar cosas de la base de datos, etc.) – dgraziotin

Cuestiones relacionadas