Créer des interfaces utilisateur 103
Chapitre 4
de Windows. Pour afcher une interface utilisateur, vous devez affecter une vue
(en général, un layout ou un fragment) à une activité.
Android fournit de nombreux contrôles, widgets et gestionnaires de layouts.
Pour la plupart des applications graphiques, il est probable que vous aurez besoin
d’étendre et de modier ces vues standard ou d’en créer de nouvelles pour fournir
votre propre expérience utilisateur.
Fondements des interfaces utilisateur sous Android
Tous les composants visuels Android descendent de la classe
View
et sont généra-
lement désignés sous le terme générique de vues. Vous verrez souvent appelés vues
des contrôles ou des widgets (à ne pas confondre les widgets de l’écran d’accueil, qui
sont décrits au Chapitre14), termes avec lesquels vous êtes probablement familier si
vous avez déjà développé pour des environnements graphiques.
La classe
ViewGroup
est une extension de la classe
View
conçue pour contenir plusieurs
vues. Les groupes de vues sont utilisés le plus souvent pour gérer la disposition des
vues lles, mais également pour construire des composants atomiques réutilisables.
Les groupes de vues qui tiennent le premier rôle sont appelés layouts.
Dans les sections qui suivent, vous apprendrez à concevoir des interfaces de plus en
plus complexes, puis nous présenterons les fragments, les vues offertes par le SDK,
comment les étendre, comment construire vos propres contrôles composés et créer
des vues personnalisées en partant de zéro.
Affecter des interfaces utilisateur aux activités
Une nouvelle activité démarre avec un écran vide dans lequel vous allez placer votre
interface utilisateur. Pour cela, appelez
setContentView
en lui passant l’instance de
View
ou la ressource layout à afcher. Les écrans vides n’étant pas particulièrement
attirants, vous utiliserez presque toujours
setContentView
pour affecter une interface
à une activité lorsque vous redénirez son gestionnaire
onCreate
.
La méthode
setContentView
prend en paramètre soit un identiant de ressource
layout, soit une simple instance de
View
. Cela vous permet de dénir votre interface
utilisateur dans le code ou en utilisant la technique privilégiée des ressources layout
externes.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
Utiliser des ressources layout découple votre couche de présentation de la logique
applicative, vous donnant ainsi la souplesse de modier la présentation sans toucher
Livre ANDROID4.indb 103 03/08/12 07:26
© 2012 Pearson France – Android 4 – Reto Meier