animation com xamarin.forms e custom renderers

31

Upload: akamud

Post on 16-Apr-2017

540 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Animation com Xamarin.Forms e Custom Renderers
Page 2: Animation com Xamarin.Forms e Custom Renderers

ANIMATION WITH FORMS/CUSTOM RENDERERSMahmoud Ali – Mobile Developer @Lambda3@akamud

Page 3: Animation com Xamarin.Forms e Custom Renderers

XAMARIN.FORMS•Vai além do reaproveitamento de código de UI•Framework com recursos poderosos•Animations API•Custom Renderers

Page 4: Animation com Xamarin.Forms e Custom Renderers

ANIMAÇÕES

Page 5: Animation com Xamarin.Forms e Custom Renderers

IMPORTÂNCIA DAS ANIMAÇÕES•Captura do foco do usuário•Dica do que irá acontecer se o usuário completar uma ação•Relacionamento entre elementos•Distração de operações demoradas em background•Qualidade, detalhamento

Page 6: Animation com Xamarin.Forms e Custom Renderers

IMPORTÂNCIA DE ANIMAÇÕES

https://dribbble.com/shots/2111739-Pull-To-Refresh

Page 7: Animation com Xamarin.Forms e Custom Renderers

IMPORTÂNCIA DE ANIMAÇÕES

https://dribbble.com/shots/2393934-iPad-App-Interactions

Page 8: Animation com Xamarin.Forms e Custom Renderers

XAMARIN.FORMS ANIMATIONS•Permite mudar propriedades visuais dos elementos•Transforma as propriedades ao longo do tempo•São awaitables•ViewExtensions, Animation e AnimationExtensions

Page 9: Animation com Xamarin.Forms e Custom Renderers

ROTATION•Rotaciona o elemento

Page 10: Animation com Xamarin.Forms e Custom Renderers

SCALING•Muda o tamanho do elemento

Page 11: Animation com Xamarin.Forms e Custom Renderers

TRANSLATION•Move o elemento

Page 12: Animation com Xamarin.Forms e Custom Renderers

FADING•Muda a opacidade do elemento

Page 13: Animation com Xamarin.Forms e Custom Renderers

VIEWEXTENSIONS•Pode ser aplicado em qualquer View• TranslateTo (TranslationX e TranslationY)• ScaleTo/RelScaleTo (Scale)• RotateTo/RelRotateTo (Rotation)• RotateXTo/RotateYTo (RotationX, RotationY)• FadeTo (Opacity)• CancelAnimations

Page 14: Animation com Xamarin.Forms e Custom Renderers

DEMO

Page 15: Animation com Xamarin.Forms e Custom Renderers

ANCHOR•É o ponto de referência do posicionamento do elemento•Também é usado como ponto de referência para animação•Sua posição é relativa• 0 é o ponto mais à esquerda• 1 é o ponto mais à direita

Page 16: Animation com Xamarin.Forms e Custom Renderers

ANCHOR

Page 17: Animation com Xamarin.Forms e Custom Renderers

EASING•Torna animações mais realistas•Aplicada durante a animação

Page 18: Animation com Xamarin.Forms e Custom Renderers

EASING•Funções de Easing nativas:• Linear (padrão) • SinIn, SinOut, e SinInOut • CubicIn, CubicOut, e CubicInOut • BounceIn e BounceOut • SpringIn e SpringOut

https://developer.xamarin.com/api/type/Xamarin.Forms.Easing/

Page 19: Animation com Xamarin.Forms e Custom Renderers

FUNÇÕES DE EASING CUSTOMIZADAS

http://easings.net

Page 20: Animation com Xamarin.Forms e Custom Renderers

DEMO

Page 21: Animation com Xamarin.Forms e Custom Renderers

CUSTOM RENDERERS

Page 22: Animation com Xamarin.Forms e Custom Renderers

COMO XAMARIN.FORMS FUNCIONA?•Abstração da interface gráfica•Resolução do componente depende da plataforma em que roda•Os controles do Xamarin.Forms são apenas abstrações em cima de componentes padrões das plataformas

Page 24: Animation com Xamarin.Forms e Custom Renderers

IMPLEMENTAÇÃO•ViewRenderer<TView, TNativeView> • TView – Sua view no projeto Xamarin.Forms (PCL)• TNativeView – Sua view no projeto específico da plataforma (iOS, Android ou UWP)

Page 25: Animation com Xamarin.Forms e Custom Renderers

IMPLEMENTAÇÃO•ExportRenderer• Atributo que indica qual será a implementação para a classe declarada no código compartilhado• Atributo de assembly, deve ser declarado acima do namespace

Page 26: Animation com Xamarin.Forms e Custom Renderers

IMPLEMENTAÇÃO•Control• Elemento disponível no ViewRenderer que indica o componente nativo que será renderizado

•Element• Elemento disponível no ViewRenderer que indica o componente manipulado pelo Xamarin.Forms no projeto compartilhado

Page 27: Animation com Xamarin.Forms e Custom Renderers

CUSTOM RENDERERS PROPERTIES•É possível definir properties que podem ser bindadas no XAML declarando BindableProperty na classe do projeto Xamarin Forms•OnElementPropertyChanged do CustomRenderer permite atulizar as propriedades necessárias sempre que o valor mudar

Page 28: Animation com Xamarin.Forms e Custom Renderers

CUSTOM RENDERERS EVENTS•Eventos são tratados pelo custom renderer. É necessário disparar um evento caso queiramos tratá-lo na nossa classe compartilhada no projeto PCL do Xamarin.Forms

Page 29: Animation com Xamarin.Forms e Custom Renderers

DEMO

Page 31: Animation com Xamarin.Forms e Custom Renderers

OBRIGADO!

@[email protected]