Animación de diapositivas entre vistas de un ViewFlipper
En una actividad tengo lo siguiente:
var flipper = FindViewById<ViewFlipper>(Resource.Id.flipper); flipper.Touch += flipper_Touch;
La implementación básica del controlador táctil se ve así:
- ¿Por qué mi proyecto MonoDroid / Xamarin.Android de repente me da un "java" salió con código 1. "error?
- No encontró la clase "mono.android.app.Application"
- MvvmCross - tratando de utilizar Fragmentos Y el último soporte lib resulta en vincular problemas
- MvxListView crea enlace para diseño de plantilla de código
- ¿Qué tema utiliza el diseñador de Xamarin para Mono para Android?
float oldTouchValue = 0; void flipper_Touch(object sender, View.TouchEventArgs e) { var flipper = sender as ViewFlipper; switch(e.Event.Action) { case MotionEventActions.Down: oldTouchValue = e.Event.GetX(); break; case MotionEventActions.Up: float currentX = e.Event.GetX(); if (oldTouchValue < currentX) { flipper.ShowNext(); } else if (oldTouchValue > currentX) { flipper.ShowPrevious(); } break; } }
Esto me permite navegar entre las diferentes vistas, pero me gustaría hacer que se deslice a la izquierda / derecha
He visto algunos ejemplos de Java sobre cómo hacerlo funcionar, pero no la forma directa de traducirlo a c #.
¿Qué se requiere para hacer que las vistas se deslicen y hay una manera de definir la animation
en XML
?
Puedo hacer que las actividades entren y salgan usando animations
definidas en XML
y llamadas a OverridePendingTransition
, pero no estoy seguro de cómo aplicar ese conocimiento aquí.
- Cliente de red compartida / SMB
- Zxing integración en la aplicación monodroid
- Card.io Mono para Android (Xamarin Studio)
- Selección de Intenciones de Android para mostrar sólo la opción de correo electrónico
- Strike html tag no renderizado en EditText con TextFormatted
- ¿Qué significa "W / AudioFlinger (34): escritura bloqueada por 70 ms, 2236 escrituras retrasadas, hilo"?
- ¿Por qué Xamarin.Android reconstruye toda la solución al ejecutarlo?
- Instalar GooglePlayServices con NuGet me da un error de Install-Package
Esto me permite navegar entre las diferentes vistas, pero me gustaría hacer que se deslice a la izquierda / derecha
El ViewFlipper
tiene, a través de su clase ViewAnimator
, algunos métodos para establecer la animación de las acciones de entrada y salida, setInAnimation()
y setOutAnimation()
. Esto está en el SDK de Android, pero debe tener correspondencia en MonoDroid (con lo que por desgracia no estoy familiarizado, así que podría estar equivocado). Para tener la animación deseada simplemente use los dos métodos anteriores para establecer las animaciones deseadas (ya sea un archivo xml o una Animation
creada mediante programación) y luego llame a los métodos showNext/Previous
como lo hace actualmente.
Incluso tienes alguna animación de diapositivas en el SDK de Android, pero de nuevo no sé si están presentes en MonoDroid.
Actualización : Estos métodos están de hecho disponibles en Monodroid y expuestos de esta manera:
//Using one of the built in animations: flipper.SetInAnimation(this, Android.Resource.Animation.SlideInLeft); flipper.SetOutAnimation(this, Android.Resource.Animation.SlideOutRight); //Using custom animations defined in XML flipper.SetInAnimation(this, Resource.Animation.slide_in_right); flipper.SetOutAnimation(this, Resource.Animation.slide_out_left);
- Intención, Fragmento y Actividad de Android
- Fabric / Crashlytics en Android – ¿Cómo tener dos proyectos de crashltics diferentes con el mismo nombre de paquete?