Escolar Documentos
Profissional Documentos
Cultura Documentos
Internacionalização
2. Animações
3. Interligação com código nativo
1. Internacionalização
•Tal como no desenvolvimento em Android nativo, com Flutter as
apps podem (e devem!) ter suporte para várias linguagens,
recorrendo à API de internacionalização.
2
fi
fi
1. Internacionalização
• Adicionar a dependência no cheiro pubspec.yaml
3
fi
1. Internacionalização
• Para nos auxiliar no suporte à internacionalização,
podemos usar uma ferramenta chamada utter intl que
existe disponível tanto para Android Studio como Visual
Studio Code
fi
fl
fl
1. Internacionalização
•Adicionar os delegates ao widget
MaterialApp na propriedade
localizationDelegates
5
fi
1. Internacionalização
•Os cheiros de suporte à internacionalização
devem ser colocados dentro da pasta lib/l10n
que deve surgir automaticamente
6
fi
fi
fl
1. Internacionalização
1. Internacionalização
•Também é oferecido o suporte para
Strings com parâmetros (interpolação),
porém, estes não funcionam tão bem Código em Dart
8
fi
1. Internacionalização
•Também existe suporte para outro tipo de ferramentas, como plurais,
nome da localização, etc.
•O utter intl utiliza o intl do Flutter “under the hood” que permite o
suporte para a internacionalização na app, mas poderíamos usá-lo
diretamente sem recurso ao utter intl, o que acabaria por acrescentar
mais passos
9
fl
fl
fi
1. Internacionalização
Desa os
• Fazer extract das diferentes Strings espalhadas pelo código, incluindo as com
parâmetros
10
fi
2. Animações
•Com o Flutter é fácil criar animações, visto que oferece uma API rica para
animações
11
2. Animações
Animação implícita
12
2. Animações
Animação implícita
13
fl
2. Animações
Animação explícita
•A animação explícita permite-nos um controlo granular das animações
que criamos e pressupõe a criação de um widget que irá animar com
base num controlador (AnimationController)
14
fl
2. Animações
Animação explícita
• Um tipo muito comum são as animações Tween<T> que permitem interpolar entre um valor
inicial e nal.
• Para adicionar um tipo de curva bezier para as animações, pode-se usar a CurvedAnimation
15
fi
2. Animações
Passos para criação de uma animação explícita
1. Criar um StatefulWidget
4. Associar ao AnimationController uma qualquer animação, por exemplo, Tween<double> entre valores 0.0 e
1.0
16
2. Animações
Desa os para animações
• Criar um widget AnimatedBall que terá uma animação explícita para animar uma bola no
ecrã
17
fi
18
19
fi
No lado do Dart
1. Criar um novo StatefulWidget para tratar do plugin: battery_info.dart
20
21
3. Interligação com código nativo
Criação de um plugin nativo para obter a % da bateria
No lado do Android (Kotlin)
1. Implementar o código nativo em Kotlin na MainActivity.kt em android/app/main/kotlin
4. Criar um método em Kotlin para obter o estado da bateria (tal e qual como se faz no
desenvolvimento nativo)
22
fi
23