Nous avons le plaisir de vous annoncer que Jetpack WindowManager 1.5.0 est désormais stable.
Cette version s'appuie sur la base solide d'adaptabilité de WindowManager, ce qui facilite encore plus la création d'interfaces utilisateur adaptatives et soignées qui s'affichent parfaitement sur toutes les tailles d'écran. L'écosystème Android continue de se développer, et les utilisateurs interagissent avec les applications sur une plus grande variété d'appareils que jamais : des téléphones et appareils pliables aux tablettes, écrans connectés, Chromebooks et même écrans de voiture en mode stationnement.
WindowManager 1.5 vise à fournir de meilleurs outils pour cet environnement d'appareils diversifié.
Nouveautés de WindowManager 1.5
Cette version stable introduit de nouveaux points d'arrêt pour les très grands écrans, améliore l'API d'intégration d'activités et offre plus de flexibilité pour calculer les métriques de fenêtre.
Nouvelles classes de taille de fenêtre : "Large" et "Extra-large"
La principale nouveauté de la version 1.5 est l'ajout de deux nouvelles classes de taille de fenêtre en largeur : "Large" et "Extra-large".
Les classes de taille de fenêtre sont notre ensemble officiel et défini de points d'arrêt de fenêtre d'affichage qui vous aident à concevoir et à développer des mises en page adaptatives. Avec la version 1.5, nous étendons ces conseils aux écrans qui vont au-delà des tablettes classiques.
Voici les nouveaux points d'arrêt de largeur :
- Large : pour les largeurs comprises entre 1 200 dp et 1 600 dp
- Extra-large : pour les largeurs supérieures ou égales à 1 600 dp
Les différentes classes de taille de fenêtre en fonction de la largeur de l'écran.
Pourquoi sont-elles importantes ?
À partir d'Android 16 QPR1 Beta 2, Android est compatible avec les écrans connectés, ce qui permet aux utilisateurs de connecter un écran externe à leur appareil et de le transformer en un outil de type ordinateur de bureau avec un grand écran.
Téléphone connecté à un écran externe, avec une session de bureau sur l'écran externe.
Avec cette nouvelle fonctionnalité disponible, il est essentiel de fournir des conseils définis pour inclure des écrans plus grands.
Sur ces très grandes surfaces, il n'est pas toujours optimal de simplement mettre à l'échelle la mise en page "Expanded" d'une tablette. Par exemple, un client de messagerie peut afficher confortablement deux volets (une boîte de réception et un message) dans la classe de taille de fenêtre "Expanded". Toutefois, sur un moniteur de bureau "Extra-large", le client de messagerie peut afficher élégamment trois ou même quatre volets : une boîte de réception, une liste de messages, le contenu complet du message et un panneau de calendrier/tâches, le tout en même temps.
En fournissant des points d'arrêt officiels pour les très grandes tailles d'écran, WindowManager 1.5 vous donne un signal clair pour introduire des mises en page spécialement conçues pour une expérience de bureau productive et riche en informations.
Les classes de taille de fenêtre peuvent être calculées à l'aide de computeWindowSizeClass(), qui est une fonction d'extension de la bibliothèque androidx.window.core.layout qui étend le type Set<WindowSizeClass>.
Pour inclure les nouvelles classes de taille de fenêtre dans votre projet, il vous suffit d'appeler la fonction à partir de l'ensemble WindowSizeClass.BREAKPOINTS_V2 au lieu de WindowSizeClass.BREAKPOINTS_V1 :
val currentWindowMetrics = WindowMetricsCalculator.getOrCreate() .computeCurrentWindowMetrics(LocalContext.current) val sizeClass = WindowSizeClass.BREAKPOINTS_V2 .computeWindowSizeClass(currentWindowMetrics)
Appliquez ensuite la mise en page appropriée lorsque vous êtes sûr que votre application dispose d'au moins cet espace :
if(sizeClass.isWidthAtLeastBreakpoint(
WindowSizeClass.WIDTH_DP_LARGE_LOWER_BOUND)){
...
// window is at least 1200 dp wide
}
Bibliothèques adaptatives
La bibliothèque Compose Material 3 Adaptive vous aide à créer des interfaces utilisateur adaptatives qui s'adaptent automatiquement en fonction des configurations de fenêtre actuelles, telles que les classes de taille de fenêtre ou les postures de l'appareil.
Bonne nouvelle : la bibliothèque est déjà à jour avec les nouveaux points d'arrêt. À partir de la version 1.2 (actuellement en version Release Candidate), les fonctions de directive de structure de volet par défaut sont compatibles avec les classes de taille de fenêtre en largeur "Large" et "Extra-large".
Il vous suffit d'activer cette fonctionnalité en déclarant dans votre fichier de build Gradle que vous souhaitez utiliser les nouveaux points d'arrêt :
currentWindowAdaptiveInfo( supportLargeAndXLargeWidth = true)
Améliorations supplémentaires
- Intégration d'activités : enregistrement et restauration automatiques : WindowManager peut désormais enregistrer et restaurer automatiquement l'état de vos divisions d'intégration d'activités. Cela permet de préserver la mise en page de l'utilisateur lors de la recréation du processus, ce qui offre une expérience plus stable et cohérente. Les développeurs n'ont plus besoin d'enregistrer et de restaurer l'état manuellement. Ils peuvent simplement activer la fonctionnalité automatique en définissant la propriété EmbeddingConfiguration#isAutoSaveEmbeddingState.
- WindowMetrics étendues : vous pouvez désormais calculer les métriques de fenêtre à partir d'un contexte d'application, et pas seulement d'un contexte d'activité. Cela offre plus de flexibilité pour accéder aux informations de la fenêtre à partir de différentes parties de votre application.
Premiers pas
Pour commencer à utiliser les nouvelles classes de taille "Large" et "Extra-large", ainsi que d'autres fonctionnalités de la version 1.5 dans vos projets Android, mettez à jour les dépendances de votre application dans build.gradle.kts vers la dernière version stable :
dependencies {
implementation("androidx.window:window:1.5.0")
// or, if you're using the WindowManager testing library:
testImplementation("androidx.window:window-testing:1.5.0")
}
WindowManager 1.5 est une nouvelle étape vers la création d'applications entièrement adaptatives qui s'exécutent sur tous les facteurs de forme Android. Consultez les notes de version officielles pour obtenir la liste complète des modifications et des corrections de bugs.
À vous de jouer !
Lire la suite
-
Nouveautés produit
Nous avons le plaisir d'annoncer une étape importante dans le rapprochement de l'informatique mobile et de bureau sur Android : la compatibilité avec les écrans connectés est désormais disponible pour tous avec la version Android 16 QPR3.
Francesco Romano • Temps de lecture : 7 min
-
Nouveautés produit
Faire de Google Play l'expérience la plus sûre et la plus fiable possible. Aujourd'hui, nous annonçons un nouvel ensemble de mises à jour des règles et une fonctionnalité de transfert de compte pour améliorer la confidentialité des utilisateurs et protéger votre entreprise contre la fraude.
Bennet Manuel • Temps de lecture : 3 min
-
Nouveautés produit
Il n'a jamais été aussi simple de tester les interactions multi-appareils avec Android Emulator.
Steven Jenkins • Temps de lecture : 2 min
Restez informé
Recevez chaque semaine dans votre boîte de réception les dernières informations sur le développement Android.