Développement Mobile - Chapitre 5 PDF
Document Details
Uploaded by BlissfulEucalyptus
University of Sousse
Tags
Summary
Ce document traite des menus et listes dans le développement d'applications Android. Il explique les différents types de menus et comment les intégrer dans une application. Il couvre également les adaptateurs utilisés pour gérer les données.
Full Transcript
83 Chapitre 5 : Menus et listes avec Android 84 Les menus Les menus dans le contexte du développement d'applications Android sont des éléments essentiels de l'interface utilisateur permettant aux utilisateurs...
83 Chapitre 5 : Menus et listes avec Android 84 Les menus Les menus dans le contexte du développement d'applications Android sont des éléments essentiels de l'interface utilisateur permettant aux utilisateurs d'interagir de manière intuitive avec une application. Ils offrent une méthode organisée et accessible pour présenter des options et des actions, facilitant ainsi la navigation et l'utilisation de l'application. Les menus servent à offrir des fonctionnalités supplémentaires de manière non intrusive. Ils permettent de regrouper des actions contextuelles et des options spécifiques à une vue ou à une activité, offrant ainsi une expérience utilisateur fluide et efficace. En intégrant des menus d'options, les développeurs peuvent rationaliser l'accès aux fonctionnalités clés, réduisant la complexité visuelle de l'interface utilisateur tout en fournissant un accès rapide aux actions importantes. Deux principaux types de menus existent : Les menus d’options situés dans la barre d'action en haut de l'écran Les menus contextuels activés par des actions spécifiques 85 Les menus d’options (1/5) Les menus d'options sont des interfaces interactives essentielles permettant aux utilisateurs d'accéder rapidement à des actions spécifiques au sein d'une application. Ils fournissant un accès rapide aux actions fréquemment utilisées, contribuant ainsi à une navigation fluide et à une interaction intuitive avec l'application. Le menu d'options est un type de menu qui apparaît dans la barre d'action en haut de l'interface utilisateur de l'application. … Clic sur Les menus (d’options ou contextuels) peuvent contenir des sous-menus, qui peuvent contenir des sous-menus, etc. 2023/2024 86 Les menus d’options (2/5) Pour intégrer un menu dans l'interface graphique d'une application Android, vous aurez généralement besoin de deux fichiers essentiels : le fichier xml de menu et le fichier java de l’activité. L’intégration du menu d’options passe par trois étapes essentielles : 1) Fichier de menu (res/menu/options_menu.xml) : Ce fichier XML spécifie les détails des éléments du menu, tels que les options disponibles et leurs attributs. C'est là que vous définissez la structure et le contenu du menu. 87 Les menus d’options (3/5) Les éléments d’un menu s'appellent en XML des et peuvent être personnalisés à l'aide de plusieurs attributs : android:id Cet attribut spécifie l'ID de l'élément du menu pour identifier quel élément du menu a été sélectionné. android:title Cet attribut définit le texte qui sera affiché pour l'élément du menu. android:icon Cet attribut spécifie l'icône qui sera affichée pourl'élément du menu. app:showAsAction Cet attribut contrôle comment l'élément du menu est affiché dans la barre d'action. Les valeurs possibles incluent always, ifRoom, et never. android:enabled Cet attribut contrôle si l'élément du menu est activé ou désactivé. Vous pouvez le définir sur true ou false. 88 Les menus d’options (4/5) 2) Inflation du menu dans l'activité (au niveau du code source de l’activité) : Dans votre activité, vous devez inflater le fichier XML de menu. Cela signifie créer les objets de menu correspondants à partir du fichier XML. Ceci se fait dans la méthode onCreateOptionsMenu. Cette méthode est lancée au moment de la première pression du bouton qui fait émerger le menu. @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.options_menu, menu); getMenuInflater() renvoie return true; l'objet MenuInflater } inflate(R.menu.options_menu, menu) utilise l’objet MenuInflater pour intégrer les éléments du menu définis dans le fichier options_menu.xml dans la barre d'action. 89 Les menus d’options (5/5) 3) Gestion des sélections d’éléments du menu (au niveau du code source de l’activité) : Vous pouvez définir le comportement lorsque l'utilisateur sélectionne un élément du menu. @Override public boolean onOptionsItemSelected (MenuItem item) { switch (item.getItemId()) { Cette méthode est case R.id.menu_item1: appelée lorsque Utilisée pour // … l'utilisateur sélectionne identifier l'élément return true; case R.id.menu_item2: un élément du menu sélectionné et // … définir les actions return true; correspondantes default: Appelée pour exécuter return super.onOptionsItemSelected(item); } le comportement par } défaut de la classe parente. 90 Les menus contextuels (1/4) Le menu contextuel est un type de menu qui apparaît en réponse à une action de l'utilisateur, généralement une longue pression sur un élément de l'interface utilisateur. L’intégration du menu contextuel passe différentes étapes: 1) Création du fichier de menu contextuel (res/menu/context_menu.xml) : 91 Les menus contextuels (2/4) 2) Déclaration de la view qui possède un menu contextuel (au niveau du code source de la méthode onCreate de l’activité) : @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.votre_layout); // Récupérer l’ID de la vue à laquelle vous souhaitez attacher le menu contextuel View maVue = findViewById(R.id.ma_vue); // Enregistrer la vue pour le menu contextuel registerForContextMenu(maVue); //... } Exemple TextView mon_text = findViewById(R.id.textid); registerForContextMenu(mon_text); 92 Les menus contextuels (3/4) 3) Inflation du menu contextuel dans l'activité : Dès que l'utilisateur fera un clic long sur cette vue, un menu contextuel s'ouvrira. Ce menu se définit dans la méthode suivante : un moyen de transmettre des informations contextuelles spécifiques à la vue qui a Pour garantir que toutes les la vue sur laquelle le déclenché le menu contextuel. fonctionnalités de base liées à menu a été appelé Exemple : si le menu est attaché à une liste, on la création du menu contextuel peut obtenir des informations sur l’élément de sont correctement initialisées le menu à construire la liste sélectionné @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.setHeaderTitle("Choose your option"); getMenuInflater().inflate(R.menu.context_menu, menu); } 93 Les menus contextuels (4/4) 4) Gestion des sélections d’éléments du menu contextuel : @Override public boolean onContextItemSelected (MenuItem item) { switch (item.getItemId()) { case R.id.menu_item1: // … return true; case R.id.menu_item2: // … return true; default: return super.onContextItemSelected(item); } } 94 Les menus Popup (1/4) Les menus pop-ups sont des menus contextuels qui apparaissent de manière temporaire et flottante à l'écran suite à un clic simple sur un composant, offrant une liste d'options ou d'actions à l'utilisateur. Ils sont souvent associés à des éléments particuliers de l'interface utilisateur, comme des boutons, des images ou d'autres vues interactives. 1) Création du fichier de menu popup (res/menu/popup_menu.xml) : 95 Les menus Popup (2/4) 2) Associer un événement onClick à un bouton :