SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
Samir Akhrouf
Interface Utilisateur
Université Mohamed Boudiaf de M’Sila
Faculté des Mathématique et de l’Informatique
Département d’Informatique
Année universitaire
2019-2020
2
Définition
❑ La fenêtre principale d'Android Studio est composée de plusieurs
zones logiques identifiées dans la figure suivante:
3
La barre d'outils vous permet d'effectuer un large éventail d'actions, y compris
l'exécution de votre application et le lancement d'outils Android.
La barre de navigation vous aide à naviguer dans votre projet et à ouvrir des
fichiers pour les modifier. Il offre une vue plus compacte de la structure visible
dans la fenêtre Projet.
La fenêtre de l'éditeur est l'endroit où vous créez et modifiez le code. En fonction
de la type de fichier actuel, l'éditeur peut changer. Par exemple, lors de l'affichage
d'un fichier de mise en page, l'éditeur affiche l'éditeur de mise en page.
La barre de la fenêtre d'outils s'étend autour de l'extérieur de la fenêtre IDE et
contient les boutons qui vous permettent d'agrandir ou de réduire les fenêtres
d'outils individuelles.
Les fenêtres d'outils vous donnent accès à des tâches spécifiques telles que la
gestion de projet, la recherche, le contrôle de version, etc. Vous pouvez les
développer et les réduire.
La barre d'état affiche l'état de votre projet et l'IDE lui-même, ainsi que
tout avertissement ou message.
2
1
3
4
5
6
La fenêtre principale d'Android Studio.
4
Interface Graphique
Une interface graphique est un ensemble de composants
graphiques, des boutons, du texte, mais aussi des groupements
d'autres composants graphiques, pour lesquels nous pouvons
définir des attributs communs (taille, couleur, positionnement, etc.).
Ainsi, l'écran suivant :
Correspond en réalité à un assemblage
de composants avec une structure
imbriquée :
5
❑ L'imbrication de l'ensemble de ces composants graphiques se fait,
sous Android, sous la forme d'un arbre, en une structure
hiérarchique :
❑ Une interface utilisateur peut être déclarée dans des fichiers XML
qui permettent de séparer les vues des traitements logiques. Il
suffira de créer un ou plusieurs fichiers XML qui devront être placées
dans le dossier res/layout.
❑ En effet, un document XML est tout à fait adapté à la structuration
sous forme d'arborescence, avec un enchaînement de balises
englobantes, ou balises mères, et de balises feuilles ou filles.
6
LES VUES
Une interface graphique est composée d'une multitude de composants
graphiques : les vues.
Sous Android, une vue est représentée, comme son nom l'indique, par
la classe View. Tous les composants graphiques (boutons, images,
case à cocher, etc.) d'Android héritent de cette classe View et sont
appelées des widgets. Ci-dessous vous avez la hiérarchie de
quelques vues qui sont souvent utilisées :
7
❑TextView : Cette vue permet d’afficher un texte à l'écran et gère de
nombreuses fonctionnalités relatives à l'affichage du texte : couleur,
police, taille, graisse, etc.
❑ Button : Comme son nom l'indique, cette classe représente un
bouton. Puisque cette classe hérite de TextView, elle dispose de
toutes les capacités de sa classe parente. La seule particularité
d'une vue Button vis-à-vis d'une vue TextView est son apparence.
Un Button est en fait un texte affiché dans un bouton ((rectangle
gris aux coins arrondis)) changeant automatiquement d'apparence
Lorsque l'utilisateur interagit avec ce dernier ((clic, focus)).
❑ EditText : Cette vue permet à l'utilisateur d'entrer un texte que
l'application pourra récupérer et utiliser par la suite.
❑ ImageView : Avec TextView, I’ImageView est l'une des vues les
plus utilisées dans les interfaces graphiques. Elle perteinte,
redimensionnement, et permet d'afficher une image et de disposer
de plusieurs options intéressantes :
8
ListView dans Android Studio
Affiche une collection de vues à défilement vertical, où chaque vue
est positionnée immédiatement en dessous de la vue précédente
dans la liste. Pour une approche plus moderne, flexible et
performante de l'affichage des listes, utilisez RecyclerView.
Pour afficher une liste, vous pouvez inclure une vue de liste dans
votre fichier XML de mise en page:
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
ListView est un adaptateur qui ne connaît pas les détails, tels que le type et le contenu,
des vues qu’il contient.
ListView affiche des vues à la demande à ListAdapter, par exemple pour afficher de
nouvelles vues lorsque l'utilisateur fait défiler vers le haut ou vers le bas.
9
UTILISATION DES LAYOUTS XML
❑ Il est possible de créer et d'attacher des composants widgets à une
activité en utilisant uniquement du code Java.
❑ Nous allons voir comment employer un fichier de positionnement
(layout) codé en XML pour le faire.
❑ Android permet la définition d’interfaces graphiques dans un format
XML.
❑ Elle est réalisée dans des fichiers XML où on spécifie des relations
existantes entre les widgets, ainsi qu'avec leurs conteneurs.
❑ C'est une ressource stockée dans le dossier prévu à cet effet :
res/layout.
DÉFINITION D’UN IDENTIFIANT
❑ Android propose la notion d'identifiant, utilisé en informatique,
notamment pour les bases de données.
❑ Chaque vue Android peut ainsi disposer d'un identifiant défini grâce
à l'attribut XML android:id.
10
La syntaxe utilisée pour définir un identifiant est un peu particulière.
On écrit : @+id/buton, ce qui correspond à:
1. @ : Ce caractère spécial dans les layouts Android exprime une
indirection. Ainsi, le système comprend que la ressource pointée
par l'identifiant n'est pas définie dans le fichier courant, mais dans
un fichier externe.
2. + : Ce caractère permet d'indiquer à Android que l'identifiant peut
être ajouté à la liste des identifiants de l'application si cella n'est
pas déjà le cas.
3. id/ : En conjonction avec le @, id/ permet d'obliger Android à
regarder dans la liste des identifiants déjà déclarés (par +).
4. buton : c'est le nom de l’identifiant définit.
Gestion des événements
❑ Sous Android, les actions de l'utilisateur sont perçues comme un
événement, clic sur un bouton, le maintien de cette action,
l'effleurement d'un élément de l'interface, etc.
❑ Ils sont interceptés par les éléments de l’interface pour exécuter des
actions en conséquence.
11
❑ L’interception repose sur la notion d'écouteurs (listeners).
❑ Il associe un événement à une méthode à appeler en cas
d’apparition de cet événement.
❑ Ils sont représentés par des interfaces. Ils correspondent aux types
d'événements à prendre en compte et qu'il est nécessaire de
redéfinir pour préciser l'action à faire lors de la génération de
l’événement.
❑ L'écouteur s'appelle OnClickListner et la méthode se nomme
onClick().
Positionner les vues avec les gabarits
❑ Une interface graphique n'est pas uniquement composée de vues
"feuilles".
❑ Il existe, des vues particulières permettant de contenir d'autres vues
et de les positionner : les gabarits, layouts.
12
En fonction du type choisi, les vues et les gabarits seront disposés
différemment :
o LinearLayout : Ce gabarit aligne l'ensemble de ses enfants dans
une direction unique, horizontale ou verticale. Les éléments se
succèdent ensuite de gauche à droite ou de haut en bas. Ce
gabarit n'affiche donc qu'un seul élément par ligne ou colonne
(selon l'orientation choisie : horizontale ou verticale).
o FrameLayout : Ce gabarit empile les éléments fils les uns sur les
autres tel une accumulation de calques. Par défaut, toutes les
vues filles s'alignent sur le coin supérieur gauche, mais il est
possible de modifier le positionnement avec le paramètre
android:layout_gravity.
13
o RelativeLayout : Ses enfants sont positionnés les uns par
rapport aux autres, le premier enfant servant de référence
aux autres. Ce gabarit a l'avantage de permettre un
positionnement précis et intelligent tout en minimisant le
nombre de vues utilisées.
o TableLayout : Permet de positionner vos vues en lignes
et colonnes à l'instar d'un tableau.
o Gallery : Affiche une ligne unique d'objets dans une liste
déroulante horizontale.

Contenu connexe

Similaire à Interace Utilisateur.pdf

Similaire à Interace Utilisateur.pdf (20)

2-android.pdf
2-android.pdf2-android.pdf
2-android.pdf
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJS
 
Introduction au développement Android
Introduction au développement AndroidIntroduction au développement Android
Introduction au développement Android
 
La recette graphique
La recette graphiqueLa recette graphique
La recette graphique
 
Les Layouts XML
Les Layouts XMLLes Layouts XML
Les Layouts XML
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
 
Angluars js
Angluars jsAngluars js
Angluars js
 
Gestion des ui
Gestion des uiGestion des ui
Gestion des ui
 
Les dessous de html+ccs+js
Les dessous de html+ccs+jsLes dessous de html+ccs+js
Les dessous de html+ccs+js
 
Android2017 cours2
Android2017 cours2Android2017 cours2
Android2017 cours2
 
D3 js-last
D3 js-lastD3 js-last
D3 js-last
 
DART.pptx
DART.pptxDART.pptx
DART.pptx
 
582 agr-li - interface mobile - classe 1
582   agr-li - interface mobile - classe 1582   agr-li - interface mobile - classe 1
582 agr-li - interface mobile - classe 1
 
BDRO.pdf
BDRO.pdfBDRO.pdf
BDRO.pdf
 
Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3
 
Présentation de la plateforme Android
Présentation de la plateforme AndroidPrésentation de la plateforme Android
Présentation de la plateforme Android
 
Introduction à Android
Introduction à AndroidIntroduction à Android
Introduction à Android
 
5.ateliers avancés
5.ateliers avancés5.ateliers avancés
5.ateliers avancés
 
Cours 01.pptx
Cours 01.pptxCours 01.pptx
Cours 01.pptx
 
Webdesign, UX et UCD #1
Webdesign, UX et UCD #1Webdesign, UX et UCD #1
Webdesign, UX et UCD #1
 

Plus de RihabBENLAMINE

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfRihabBENLAMINE
 
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfTutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfRihabBENLAMINE
 
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfCM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfRihabBENLAMINE
 
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdfRihabBENLAMINE
 
coursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxcoursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxRihabBENLAMINE
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfRihabBENLAMINE
 
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfVirtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfRihabBENLAMINE
 
416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdfRihabBENLAMINE
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdfRihabBENLAMINE
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdfRihabBENLAMINE
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfRihabBENLAMINE
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdfRihabBENLAMINE
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfRihabBENLAMINE
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptxRihabBENLAMINE
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfRihabBENLAMINE
 
p01b_portelogique_boole.pdf
p01b_portelogique_boole.pdfp01b_portelogique_boole.pdf
p01b_portelogique_boole.pdfRihabBENLAMINE
 

Plus de RihabBENLAMINE (20)

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdf
 
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfTutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
 
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfCM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
 
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
 
coursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxcoursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptx
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
 
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfVirtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
 
416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf
 
Firebase.pdf
Firebase.pdfFirebase.pdf
Firebase.pdf
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdf
 
Les Activités.pdf
Les Activités.pdfLes Activités.pdf
Les Activités.pdf
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdf
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdf
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptx
 
PHP_intro.pdf
PHP_intro.pdfPHP_intro.pdf
PHP_intro.pdf
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdf
 
chapitre-2.pptx.pdf
chapitre-2.pptx.pdfchapitre-2.pptx.pdf
chapitre-2.pptx.pdf
 
p01b_portelogique_boole.pdf
p01b_portelogique_boole.pdfp01b_portelogique_boole.pdf
p01b_portelogique_boole.pdf
 

Interace Utilisateur.pdf

  • 1. Samir Akhrouf Interface Utilisateur Université Mohamed Boudiaf de M’Sila Faculté des Mathématique et de l’Informatique Département d’Informatique Année universitaire 2019-2020
  • 2. 2 Définition ❑ La fenêtre principale d'Android Studio est composée de plusieurs zones logiques identifiées dans la figure suivante:
  • 3. 3 La barre d'outils vous permet d'effectuer un large éventail d'actions, y compris l'exécution de votre application et le lancement d'outils Android. La barre de navigation vous aide à naviguer dans votre projet et à ouvrir des fichiers pour les modifier. Il offre une vue plus compacte de la structure visible dans la fenêtre Projet. La fenêtre de l'éditeur est l'endroit où vous créez et modifiez le code. En fonction de la type de fichier actuel, l'éditeur peut changer. Par exemple, lors de l'affichage d'un fichier de mise en page, l'éditeur affiche l'éditeur de mise en page. La barre de la fenêtre d'outils s'étend autour de l'extérieur de la fenêtre IDE et contient les boutons qui vous permettent d'agrandir ou de réduire les fenêtres d'outils individuelles. Les fenêtres d'outils vous donnent accès à des tâches spécifiques telles que la gestion de projet, la recherche, le contrôle de version, etc. Vous pouvez les développer et les réduire. La barre d'état affiche l'état de votre projet et l'IDE lui-même, ainsi que tout avertissement ou message. 2 1 3 4 5 6 La fenêtre principale d'Android Studio.
  • 4. 4 Interface Graphique Une interface graphique est un ensemble de composants graphiques, des boutons, du texte, mais aussi des groupements d'autres composants graphiques, pour lesquels nous pouvons définir des attributs communs (taille, couleur, positionnement, etc.). Ainsi, l'écran suivant : Correspond en réalité à un assemblage de composants avec une structure imbriquée :
  • 5. 5 ❑ L'imbrication de l'ensemble de ces composants graphiques se fait, sous Android, sous la forme d'un arbre, en une structure hiérarchique : ❑ Une interface utilisateur peut être déclarée dans des fichiers XML qui permettent de séparer les vues des traitements logiques. Il suffira de créer un ou plusieurs fichiers XML qui devront être placées dans le dossier res/layout. ❑ En effet, un document XML est tout à fait adapté à la structuration sous forme d'arborescence, avec un enchaînement de balises englobantes, ou balises mères, et de balises feuilles ou filles.
  • 6. 6 LES VUES Une interface graphique est composée d'une multitude de composants graphiques : les vues. Sous Android, une vue est représentée, comme son nom l'indique, par la classe View. Tous les composants graphiques (boutons, images, case à cocher, etc.) d'Android héritent de cette classe View et sont appelées des widgets. Ci-dessous vous avez la hiérarchie de quelques vues qui sont souvent utilisées :
  • 7. 7 ❑TextView : Cette vue permet d’afficher un texte à l'écran et gère de nombreuses fonctionnalités relatives à l'affichage du texte : couleur, police, taille, graisse, etc. ❑ Button : Comme son nom l'indique, cette classe représente un bouton. Puisque cette classe hérite de TextView, elle dispose de toutes les capacités de sa classe parente. La seule particularité d'une vue Button vis-à-vis d'une vue TextView est son apparence. Un Button est en fait un texte affiché dans un bouton ((rectangle gris aux coins arrondis)) changeant automatiquement d'apparence Lorsque l'utilisateur interagit avec ce dernier ((clic, focus)). ❑ EditText : Cette vue permet à l'utilisateur d'entrer un texte que l'application pourra récupérer et utiliser par la suite. ❑ ImageView : Avec TextView, I’ImageView est l'une des vues les plus utilisées dans les interfaces graphiques. Elle perteinte, redimensionnement, et permet d'afficher une image et de disposer de plusieurs options intéressantes :
  • 8. 8 ListView dans Android Studio Affiche une collection de vues à défilement vertical, où chaque vue est positionnée immédiatement en dessous de la vue précédente dans la liste. Pour une approche plus moderne, flexible et performante de l'affichage des listes, utilisez RecyclerView. Pour afficher une liste, vous pouvez inclure une vue de liste dans votre fichier XML de mise en page: <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent" /> ListView est un adaptateur qui ne connaît pas les détails, tels que le type et le contenu, des vues qu’il contient. ListView affiche des vues à la demande à ListAdapter, par exemple pour afficher de nouvelles vues lorsque l'utilisateur fait défiler vers le haut ou vers le bas.
  • 9. 9 UTILISATION DES LAYOUTS XML ❑ Il est possible de créer et d'attacher des composants widgets à une activité en utilisant uniquement du code Java. ❑ Nous allons voir comment employer un fichier de positionnement (layout) codé en XML pour le faire. ❑ Android permet la définition d’interfaces graphiques dans un format XML. ❑ Elle est réalisée dans des fichiers XML où on spécifie des relations existantes entre les widgets, ainsi qu'avec leurs conteneurs. ❑ C'est une ressource stockée dans le dossier prévu à cet effet : res/layout. DÉFINITION D’UN IDENTIFIANT ❑ Android propose la notion d'identifiant, utilisé en informatique, notamment pour les bases de données. ❑ Chaque vue Android peut ainsi disposer d'un identifiant défini grâce à l'attribut XML android:id.
  • 10. 10 La syntaxe utilisée pour définir un identifiant est un peu particulière. On écrit : @+id/buton, ce qui correspond à: 1. @ : Ce caractère spécial dans les layouts Android exprime une indirection. Ainsi, le système comprend que la ressource pointée par l'identifiant n'est pas définie dans le fichier courant, mais dans un fichier externe. 2. + : Ce caractère permet d'indiquer à Android que l'identifiant peut être ajouté à la liste des identifiants de l'application si cella n'est pas déjà le cas. 3. id/ : En conjonction avec le @, id/ permet d'obliger Android à regarder dans la liste des identifiants déjà déclarés (par +). 4. buton : c'est le nom de l’identifiant définit. Gestion des événements ❑ Sous Android, les actions de l'utilisateur sont perçues comme un événement, clic sur un bouton, le maintien de cette action, l'effleurement d'un élément de l'interface, etc. ❑ Ils sont interceptés par les éléments de l’interface pour exécuter des actions en conséquence.
  • 11. 11 ❑ L’interception repose sur la notion d'écouteurs (listeners). ❑ Il associe un événement à une méthode à appeler en cas d’apparition de cet événement. ❑ Ils sont représentés par des interfaces. Ils correspondent aux types d'événements à prendre en compte et qu'il est nécessaire de redéfinir pour préciser l'action à faire lors de la génération de l’événement. ❑ L'écouteur s'appelle OnClickListner et la méthode se nomme onClick(). Positionner les vues avec les gabarits ❑ Une interface graphique n'est pas uniquement composée de vues "feuilles". ❑ Il existe, des vues particulières permettant de contenir d'autres vues et de les positionner : les gabarits, layouts.
  • 12. 12 En fonction du type choisi, les vues et les gabarits seront disposés différemment : o LinearLayout : Ce gabarit aligne l'ensemble de ses enfants dans une direction unique, horizontale ou verticale. Les éléments se succèdent ensuite de gauche à droite ou de haut en bas. Ce gabarit n'affiche donc qu'un seul élément par ligne ou colonne (selon l'orientation choisie : horizontale ou verticale). o FrameLayout : Ce gabarit empile les éléments fils les uns sur les autres tel une accumulation de calques. Par défaut, toutes les vues filles s'alignent sur le coin supérieur gauche, mais il est possible de modifier le positionnement avec le paramètre android:layout_gravity.
  • 13. 13 o RelativeLayout : Ses enfants sont positionnés les uns par rapport aux autres, le premier enfant servant de référence aux autres. Ce gabarit a l'avantage de permettre un positionnement précis et intelligent tout en minimisant le nombre de vues utilisées. o TableLayout : Permet de positionner vos vues en lignes et colonnes à l'instar d'un tableau. o Gallery : Affiche une ligne unique d'objets dans une liste déroulante horizontale.