Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 10
Utiliser de jolis widgets et de beaux conteneurs 113
L’approche classique pour tenir les utilisateurs informés d’une progression consiste à utiliser une barre de progression ou un "disque tournant" (pensez à l’animation qui apparaît en
haut à droite de la plupart des navigateurs web). Android dispose pour cela du widget
ProgressBar.
Une ProgressBar mémorise la progression, définie par un entier allant de 0 (aucune
progression) à une valeur maximale définie par setMax() qui indique que l’opération s’est
terminée. Par défaut, une barre de progression part de la valeur 0, mais vous pouvez choisir
une autre valeur de départ via un appel à sa méthode setProgress().
Si vous préférez que la barre soit indéterminée, passez la valeur true à sa méthode setIndeterminate().
Dans le code Java, vous pouvez fixer le montant de progression effectuée (via setProgress()) ou incrémenter la progression courante d’une valeur déterminée (via incrementProgressBy()). La méthode getProgress(), quant à elle, permet de connaître la
progression déjà effectuée.
Le widget ProgressBar étant intimement lié à l’utilisation des threads – un thread en
arrière-plan effectue le traitement et informe de sa progression le thread qui gère l’interface –, nous préférons reporter la démonstration de ce widget jusqu’au Chapitre 15.
Utilisation d’onglets
La philosophie générale d’Android consiste à faire en sorte que les activités soient courtes
et agréables. Lorsqu’il y a plus d’informations que ne peut raisonnablement en contenir
l’écran (bien que l’on puisse utiliser des barres de défilement), il peut être préférable de
produire ces informations supplémentaires par une autre activité, lancée via une Intent,
comme on l’explique au Chapitre 24. Cependant, ceci peut être assez compliqué à mettre
en place. En outre, il arrive parfois que l’on doive recueillir et traiter beaucoup d’informations en une seule opération.
Dans une interface graphique classique, nous pourrions utiliser des onglets à cette fin,
comme un JTabbedPane en Java/Swing. Avec Android, on dispose désormais d’un conteneur TabHost qui fonctionne exactement de la même façon – une portion de ce qu’affiche
l’activité est liée à des onglets qui, lorsqu’on clique dessus, permettent de passer d’une
partie de la vue à une autre. Une activité utilisera par exemple un onglet pour la saisie d’un
emplacement et un autre pour afficher cet emplacement sur une carte.
Certains kits de développement considèrent simplement les onglets comme des objets
cliquables, permettant de passer d’une vue à l’autre. D’autres les considèrent comme une
combinaison de l’élément cliquable et du contenu qui apparaît lorsqu’on clique dessus.
Avec Android, les boutons et les contenus des onglets étant des entités distinctes, nous
emploierons les termes "bouton de l’onglet" et "contenu de l’onglet" dans cette section.
Livre Android.book Page 113 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 10
Utiliser de jolis widgets et de beaux conteneurs 113
L’approche classique pour tenir les utilisateurs informés d’une progression consiste à utiliser une barre de progression ou un "disque tournant" (pensez à l’animation qui apparaît en
haut à droite de la plupart des navigateurs web). Android dispose pour cela du widget
ProgressBar.
Une ProgressBar mémorise la progression, définie par un entier allant de 0 (aucune
progression) à une valeur maximale définie par setMax() qui indique que l’opération s’est
terminée. Par défaut, une barre de progression part de la valeur 0, mais vous pouvez choisir
une autre valeur de départ via un appel à sa méthode setProgress().
Si vous préférez que la barre soit indéterminée, passez la valeur true à sa méthode setIndeterminate().
Dans le code Java, vous pouvez fixer le montant de progression effectuée (via setProgress()) ou incrémenter la progression courante d’une valeur déterminée (via incrementProgressBy()). La méthode getProgress(), quant à elle, permet de connaître la
progression déjà effectuée.
Le widget ProgressBar étant intimement lié à l’utilisation des threads – un thread en
arrière-plan effectue le traitement et informe de sa progression le thread qui gère l’interface –, nous préférons reporter la démonstration de ce widget jusqu’au Chapitre 15.
Utilisation d’onglets
La philosophie générale d’Android consiste à faire en sorte que les activités soient courtes
et agréables. Lorsqu’il y a plus d’informations que ne peut raisonnablement en contenir
l’écran (bien que l’on puisse utiliser des barres de défilement), il peut être préférable de
produire ces informations supplémentaires par une autre activité, lancée via une Intent,
comme on l’explique au Chapitre 24. Cependant, ceci peut être assez compliqué à mettre
en place. En outre, il arrive parfois que l’on doive recueillir et traiter beaucoup d’informations en une seule opération.
Dans une interface graphique classique, nous pourrions utiliser des onglets à cette fin,
comme un JTabbedPane en Java/Swing. Avec Android, on dispose désormais d’un conteneur TabHost qui fonctionne exactement de la même façon – une portion de ce qu’affiche
l’activité est liée à des onglets qui, lorsqu’on clique dessus, permettent de passer d’une
partie de la vue à une autre. Une activité utilisera par exemple un onglet pour la saisie d’un
emplacement et un autre pour afficher cet emplacement sur une carte.
Certains kits de développement considèrent simplement les onglets comme des objets
cliquables, permettant de passer d’une vue à l’autre. D’autres les considèrent comme une
combinaison de l’élément cliquable et du contenu qui apparaît lorsqu’on clique dessus.
Avec Android, les boutons et les contenus des onglets étant des entités distinctes, nous
emploierons les termes "bouton de l’onglet" et "contenu de l’onglet" dans cette section.
Livre Android.book Page 113 Dimanche, 8. novembre 2009 12:23 12
