Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Material Design: Drawer et FAB dans Android
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Développement

Material Design: Drawer et FAB dans Android

L'Équipe Alphorm Par L'Équipe Alphorm 18 janvier 2025
Partager
Partager

Naviguer dans une application Android peut parfois être déroutant sans une interface utilisateur bien structurée.

Cela peut frustrer les utilisateurs et nuire à l’adoption de l’application.

L’article explore comment utiliser le Material Design avec Jetpack Compose pour créer des interfaces intuitives en intégrant des composants comme le Drawer et le FAB.

Table de matière
Introduction au Material Design AndroidUtiliser le Drawer pour Android NavigationIntégrer le Floating Action Button AndroidJetpack Compose : Projet Material DesignConclusion sur Material Design AndroidConclusionFAQConclusion

Formation Créer une Interface Utilisateur Moderne avec JetPack Compose

Créez des interfaces modernes et réactives avec JetPack Compose!

Découvrir cette formation

Introduction au Material Design Android

Utiliser le Drawer pour Android Navigation

Le Material Design est une spécification visuelle et interactive développée par Google pour améliorer l’expérience utilisateur des applications Android. Deux éléments essentiels de cette spécification sont le Drawer (ou App Drawer) et le Floating Action Button (FAB). Le Drawer permet de naviguer entre différents écrans ou sections de l’application via un menu latéral, tandis que le Floating Action Button offre un moyen direct d’accéder à l’action principale

Intégrer le Floating Action Button Android

Question : Qu’est-ce qu’un Drawer ?

Un Drawer, aussi appelé App Drawer, est un menu latéral qui permet à l’utilisateur de naviguer entre différents écrans ou sections d’une application. Il est généralement caché et apparaît lorsque l’utilisateur glisse depuis le bord gauche de l’écran ou clique sur une icône de menu (souvent appelée « hamburger » à cause de ses trois lignes horizontales).

Schéma de conception Drawer pour Android

Conception d’un Drawer

Le Drawer est composé de plusieurs parties :

  • En-tête (Header) :Une zone située en haut du Drawer, souvent utilisée pour afficher des informations sur l’utilisateur courant ou le nom de l’application.
  • Menu Items :Une liste d’options de navigation qui permettent de changer d’écran ou de section.
Question : Comment pouvez-vous créer un menu de navigation latéral (Drawer) dans Jetpack Compose qui permet à l’utilisateur de naviguer entre différents écrans, en utilisant des éléments comme DrawerItem pour indiquer l’écran actuel et gérer la sélection de l’utilisateur ?

Voici comment on peut définir un Drawer en Jetpack Compose :

				
					
 @Composable
fun AppDrawer(
currentScreen: String,
onScreenSelected: (String) -> Unit
) {
Column {
// Header du Drawer
DrawerHeader()

// Menu Items
DrawerItem(
icon = Icons.Default.Home,
label = "Home",
isSelected = currentScreen == "Home",
onClick = { onScreenSelected("Home") }
)
DrawerItem(
icon = Icons.Default.Settings,
label = "Settings",
isSelected = currentScreen == "Settings",
onClick = { onScreenSelected("Settings") }        )    }}
@Composable
fun DrawerHeader() {
Row(modifier = Modifier.fillMaxWidth().padding(16.dp)) {
Icon(
imageVector = Icons.Default.Menu,
contentDescription = "Drawer Header Icon"
)
Spacer(modifier = Modifier.width(16.dp))
Text(text = "App Name", style = MaterialTheme.typography.h6)    }}

				
			

Le code retourne le résultat suivant :

Menu avec options Home et Settings

Utilisation du Drawer

Le Drawer est souvent utilisé en conjonction avec un composant Scaffold, qui structure l’interface utilisateur de l’application en définissant des zones pour la barre d’application (AppBar), le corps du contenu, et d’autres éléments comme le Drawer ou le FAB.

Diagramme de structure Material Design Android

Voici un exemple d’utilisation du Drawer dans un Scaffold :

				
					
 @Composable
fun MainScreen() {
val scaffoldState = rememberScaffoldState()
var currentScreen by remember { mutableStateOf("Home") }
Scaffold(
scaffoldState = scaffoldState,
drawerContent = {
AppDrawer(
currentScreen = currentScreen,
onScreenSelected = {
currentScreen = it
scaffoldState.drawerState.close()
}            )        },
content = {
when (currentScreen) {
"Home" -> HomeScreen()
"Settings" -> SettingsScreen()            }        }    )}

				
			

Dans cet exemple, le Scaffold gère l’ouverture et la fermeture du Drawer. Lorsqu’un utilisateur sélectionne un élément du Drawer, l’écran actuel change en conséquence.

Jetpack Compose : Projet Material Design

Question : Qu’est-ce qu’un Floating Action Button ?

Le Floating Action Button (FAB) est un bouton circulaire qui flotte au-dessus du contenu principal d’une application. Il est destiné à représenter l’action principale de l’application. Par exemple, dans une application de messagerie, le FAB peut être utilisé pour composer un nouveau message.

Conception d’un FAB

Le FAB est un composant visuel simple, mais il peut être personnalisé avec différentes icônes, couleurs et actions.

Diagramme du FAB avec actions et thèmes Android

Voici comment créer un FAB en Jetpack Compose :

				
					
 @Composable
fun MyFloatingActionButton(onClick: () -> Unit) {
FloatingActionButton(
onClick = onClick,
backgroundColor = MaterialTheme.colors.primary,
content = {
Icon(Icons.Default.Add, contentDescription = "Add")
}
)
}

				
			

Placement du FAB

Le FAB est généralement placé dans le coin inférieur droit de l’écran, un emplacement stratégique pour attirer l’attention de l’utilisateur sans interférer avec le contenu principal.

Voici comment intégrer un FAB dans un Scaffold :

				
					
 @Composable
fun ArticleScreen(onFabClick: () -> Unit) {
Scaffold(
floatingActionButton = {
MyFloatingActionButton(onClick = onFabClick)        },
content = {             // Contenu principal de l'écran
ArticleList()        }
)}

				
			

Le code retourne le résultat suivant :

Interface liste d'articles sous Android
Élément
Description
Fonction @Composable
Déclare que ArticleScreen est un composable, permettant son utilisation dans l’interface utilisateur.
onFabClick: () -> Unit
Paramètre de la fonction, représentant une lambda qui sera exécutée lorsque le bouton flottant sera cliqué.
Scaffold
Composant de mise en page qui fournit une structure de base pour les écrans, incluant des éléments tels que le bouton flottant et le contenu principal.
floatingActionButton
Propriété du Scaffold qui définit le bouton flottant à afficher. Dans ce cas, c’est MyFloatingActionButton avec l’action onFabClick.
content
Propriété du Scaffold qui définit le contenu principal de l’écran. Dans ce cas, il contient ArticleList.
ArticleList()
Composant affichant la liste des articles. Ce composant est placé dans le contenu principal de l’écran.

Dans cet exemple, le FAB est utilisé pour ajouter un nouvel article à une liste.

Conclusion sur Material Design Android

Structure du Projet

Pour implémenter un Drawer et un FAB dans un projet Android, il est recommandé de structurer le code de manière à séparer les composants logiques. Chaque écran ou fonction principale de l’application peut être encapsulé dans un fichier distinct, ce qui permet de maintenir un code clair et modulaire.

Diagramme de structure d'une app Android

Exemple Complet

				
					
 @Composable
fun MyApp() {
MaterialTheme {
var showDrawer by remember { mutableStateOf(false) }
val scaffoldState = rememberScaffoldState()
Scaffold(
scaffoldState = scaffoldState,
drawerContent = {
AppDrawer(
currentScreen = "Home",
onScreenSelected = {
showDrawer = false                    }    )},
floatingActionButton = {
MyFloatingActionButton(onClick = { /* Action principale */ })
},
content = {
// Contenu principal de l'application
HomeScreen()            }        )    }}
@Composable
fun HomeScreen() {
// Contenu de l'écran d'accueil
Text("Welcome to the Home Screen")
}

				
			

Le code retourne le résultat suivant :

Écran d'accueil d'une app Android avec Material Design

Dans cet exemple complet, nous combinons un Scaffold, un Drawer et un FAB pour créer une application fonctionnelle. Le Drawer permet de naviguer entre les écrans, tandis que le FAB déclenche l’action principale de l’application.

Conclusion

Le Drawer et le Floating Action Button sont deux éléments essentiels du Material Design qui améliorent l’expérience utilisateur en fournissant des moyens intuitifs de navigation et d’action. En utilisant Jetpack Compose, ces composants peuvent être facilement intégrés dans une application Android moderne, offrant ainsi une interface utilisateur fluide et réactive.

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Qu'est-ce que le Material Design et pourquoi est-il important pour Android ?
Le Material Design est une spécification visuelle développée par Google pour améliorer l’expérience utilisateur sur Android. Il propose des éléments tels que le Drawer et le Floating Action Button, qui améliorent la navigation et l’interaction utilisateur. Grâce à son approche unifiée et esthétique, le Material Design facilite la création d’interfaces cohérentes et attractives, essentielles pour une expérience utilisateur engageante et intuitive sur Android.
Comment fonctionne le Drawer dans une application Android ?
Le Drawer, ou App Drawer, est un menu latéral dans les applications Android, permettant aux utilisateurs de naviguer entre différents écrans ou sections. Il est généralement masqué et se révèle par un geste de glissement ou un clic sur l’icône de menu. Dans Jetpack Compose, le Drawer est défini avec des éléments comme DrawerItem pour gérer la sélection de l’utilisateur et l’affichage de l’écran actuel, offrant ainsi une navigation fluide et intuitive.
Comment intégrer un Floating Action Button (FAB) en Jetpack Compose ?
Le Floating Action Button (FAB) est intégré en Jetpack Compose en utilisant le composant FloatingActionButton. Il est placé dans un Scaffold pour flotter au-dessus du contenu principal, généralement dans le coin inférieur droit de l’écran. Le FAB est conçu pour déclencher l’action principale de l’application, comme composer un nouveau message dans une application de messagerie. Cette intégration améliore la visibilité et l’accessibilité de l’action principale pour l’utilisateur.
Quels sont les avantages d'utiliser Jetpack Compose pour le développement Android ?
Jetpack Compose simplifie le développement d’interfaces utilisateur en Android grâce à une approche déclarative. Il permet de créer des composants visuels réactifs et modifiables, comme le Drawer et le FAB, avec moins de code et une meilleure lisibilité. Les développeurs peuvent facilement gérer les états et les interactions utilisateur, ce qui rend le processus de développement plus rapide et efficace, tout en offrant une expérience utilisateur fluide et moderne.
Comment structurer un projet Android en utilisant Drawer et FAB ?
Pour structurer un projet Android avec Drawer et FAB, il est important de séparer les composants logiques dans des fichiers distincts. Utilisez Scaffold pour organiser l’interface utilisateur avec des éléments tels que AppBar et content. Le Drawer gère la navigation entre les écrans, tandis que le FAB déclenche l’action principale. Cette approche modulaire assure un code clair, maintenable et permet des mises à jour faciles de l’application.

Conclusion

En intégrant le Drawer et le Floating Action Button, votre application Android peut offrir une expérience utilisateur enrichie et intuitive. Quelle autre fonctionnalité du Material Design aimeriez-vous explorer pour améliorer encore plus vos applications ?

ÉTIQUETÉ : Android, Jetpack
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Material Design: Drawer et FAB dans Android

© Alphorm - Tous droits réservés