What you'll learn:
- Patrón de software MVVM
- Xaml
- Dominio de animaciones
- Funciones avanzadas de xamarin forms
La clase ViewExtensions proporciona métodos de extensión que se pueden usar para construir animaciones simples. Este artículo muestra cómo crear y cancelar animaciones mediante la clase ViewExtensions.
La ViewExtensionsclase proporciona los siguientes métodos de extensión que se pueden usar para crear animaciones simples:
CancelAnimationscancela cualquier animación.
FadeToanima la Opacitypropiedad de un VisualElement.
RelScaleToaplica un aumento o disminución incremental animado a la Scalepropiedad de un VisualElement.
RotateToanima la Rotationpropiedad de un VisualElement.
RelRotateToaplica un aumento o disminución incremental animado a la Rotationpropiedad de un VisualElement.
RotateXToanima la RotationXpropiedad de un VisualElement.
RotateYToanima la RotationYpropiedad de un VisualElement.
ScaleToanima la Scalepropiedad de un VisualElement.
ScaleXToanima la ScaleXpropiedad de un VisualElement.
ScaleYToanima la ScaleYpropiedad de un VisualElement.
TranslateToanima las propiedades TranslationXy TranslationYde un VisualElement.
Los métodos de extensión de animación en la ViewExtensionsclase son todos asíncronos y devuelven un Taskobjeto. El valor devuelto es falsesi la animación se completa y truesi se cancela. Por lo tanto, los métodos de animación normalmente deben usarse con el awaitoperador, lo que hace posible determinar fácilmente cuándo se ha completado una animación. Además, entonces es posible crear animaciones secuenciales con métodos de animación posteriores ejecutándose después de que se haya completado el método anterior. Para obtener más información, consulte Animaciones compuestas .
Si hay un requisito para permitir que una animación se complete en segundo plano, entonces awaitse puede omitir el operador. En este escenario, los métodos de extensión de animación regresarán rápidamente después de iniciar la animación, con la animación en segundo plano. Esta operación se puede aprovechar al crear animaciones compuestas. Para obtener más información, consulte Animaciones compuestas .
Rotación
El siguiente ejemplo de código demuestra el uso del RotateTométodo para animar la Rotationpropiedad de un Image:
C#Dupdo
await image.RotateTo (360, 2000);
image.Rotation = 0;
Este código anima la Imageinstancia rotando hasta 360 grados durante 2 segundos (2000 milisegundos). El RotateTométodo obtiene el Rotationvalor de la propiedad actual para el inicio de la animación y luego gira desde ese valor hasta su primer argumento (360). Una vez que se completa la animación, la Rotationpropiedad de la imagen se restablece a 0. Esto garantiza que la Rotationpropiedad no permanezca en 360 después de que finalice la animación, lo que evitaría rotaciones adicionales.
Las siguientes capturas de pantalla muestran la rotación en curso en cada plataforma: