Aller au contenu principal

Etat i18n logo 🌐

Avant la séance (2h)
Multilingue, locales

On parlera de stratégie pour déterminer quelle sera la locale par défaut, comment fournir une traduction complète (français) ou une traduction partielle (québécois).

Exercices de la semaine

Exercice Multilingue​

Vous devez faire une application avec un titre (dans le TopBar) et un Text dans l'activité.

  • En anglais, le titre est "SupaDupa app" et le Text est "expensive"
  • En français, le titre est "App en français" et le Text est "cher"
  • En québécois, le titre est "App en français" et le Text est "dispendieux"

Votre application doit avoir un logo différent de celui par défaut.

Vous devez ajouter le logo suivant à votre projet ci-dessus.

Exercices Etats​

Compteur​

Prévois l'affichage d'un compteur avec un bouton pour incrémenter et un bouton pour décrémenter ce compteur.

Une fois l'affichage obtenu et les boutons fonctionnels, isole le bouton dans une fonction ayant pour signature :

@Composable
fun Bouton(
texteAffiché : String, // Texte à afficher dans le bouton
changerCompteur : () -> Unit, // Fonction permettant la modification du compteur
modifier : Modifier = Modifier // Le Modifier à appliquer au bouton
)

compteur illustration

Allume et éteint​

Fais une application qui permet d'allumer et d'éteindre une lampe. Utilise les icones Icons.Filled.Lightbulb et Icons.Outlined.Lightbulb.

Pour avoir accès aux icones, regarde la recette ici.

allume

eteint

Mets en place une rangée de lampes que tu vas pouvoir allumer ou eteindre individuellement

rangee de lampe

Dernière étape : fais en sorte que lorsque tu cliques sur la lampe la plus à gauche, seulement cette lampe s'allume, lorsque tu cliques sur la deuxième lampe à gauche, les deux premières s'allument, etc...

Prévois également une possibilité d'éteindre toutes les ampoules.

tout eteint

gauche allume

gauche 2 allume

gauche 4 allume

Implémentation d'un champ de texte​

Complétez cet exercice en vous appuyant sur la documentation officielle d'Android concernant la configuration d'un champ de texte.

Dans un nouveau projet, réalisez les étapes suivantes :

1- Créer un champ de texte vide avec un libellé "Prénom".

Champ de texte vide

2- Sous le champ de texte, ajouter un Text qui affiche le message « Bonjour, [prénom] », où [prénom] est remplacé par le texte saisi dans le champ. Le message doit se mettre à jour en temps réel, au fur et à mesure que l’utilisateur saisit son prénom. Pour ce faire, appuyez-vous sur la documentation concernant la gestion de l'état d'un champ de texte.

Champ de texte affichage

3- Ajoutez un bouton « Effacer » qui vide le champ. Le bouton doit être désactivé quand le champ est vide.

Champ de texte bouton vide Champ de texte bouton activé