Bibliothèques de dispositions double écran
Important
Les fonctionnalités et l’aide décrites dans cet article sont en préversion publique et peuvent faire l’objet de modifications importantes avant leur lancement en disponibilité générale. Microsoft ne donne aucune garantie, expresse ou implicite, concernant les informations fournies ici.
Ces bibliothèques contiennent un ensemble de vues, de dispositions, de fonctions d’assistance, et plus encore pour permettre aux développeurs Android de créer des applications pour les appareils pliables.
Quand vous laissez la responsabilité de la création et de la gestion de tous les modes d’écran à nos composants, votre préoccupation principale est de créer une belle application.
Modules
Navigation inférieure - contient un BottomNavigationView personnalisé avec un comportement double écran.
BottomNavigationView
donne la possibilité de déplacer le BottomNavigationView sur l’écran de gauche ou de droite.
Gestionnaire de fragments - contient le code permettant de gérer les fragments dans différents modes d’écran.
FragmentManagerStateHandler
donne la possibilité de restaurer des fragments propres à un mode d’écran lorsqu’une activité passe à un écran double ou simple.
Dispositions - contient les dispositions qui vous aident à créer une interface utilisateur pour les appareils double écran.
FoldableLayout
crée des conteneursSingleScreen
ouDualScreen
destinés à contenir votre interface utilisateur.FoldableFrameLayout
donne la possibilité d’étendre les vues enfants ou de les déplacer vers l’écran de gauche ou de droite.
RecyclerView - Contient une classe RecyclerView.ItemDecoration et une classe LayoutManager personnalisées avec un comportement double écran.
FoldableItemDecoration
ajoute un espacement aux cellules pour couvrir la charnière de l’appareil lorsque l’application est en mode répartition. Ceci doit être utilisé avecFoldableLayoutManager
.FoldableLayoutManager
fournit unLinearLayoutManager
quand l’appareil est en mode écran simple et unGridLayoutManager
quand l’appareil est en mode réparti.FoldableStaggeredItemDecoration
ajoute un espacement aux cellules pour couvrir la charnière de l’appareil lorsque l’application est en mode répartition. Ceci doit être utilisé avecFoldableStaggeredLayoutManager
.FoldableStaggeredLayoutManager
fournit unLinearLayoutManager
quand l’appareil est en mode écran simple et unStaggeredGridLayoutManager
quand l’appareil est en mode réparti.
Tabulations - contient une classe TabLayout personnalisée avec un comportement double écran.
TabLayout
peut détecter un écran pliable et offre la possibilité de réorganiser les onglets à gauche ou à droite.
Composant de navigation pliable : basé sur le composant Navigation de Google, ce composant contient un ensemble de bibliothèques qui implémentent le modèle de navigation double écran.
Snackbar - Personnalisé
FrameLayout
qui peut être utilisé comme conteneur pour leSnackbar
positionner sur des appareils pliables.
Déclaration des dépendances
Vérifiez que vous disposez du référentiel mavenCentral() dans votre fichier build.gradle de premier niveau :
allprojects { repositories { google() mavenCentral() } }
Ajoutez les dépendances dont vous avez besoin dans le fichier build.gradle de niveau module (la version actuelle peut être différente de ce qui est illustré ici) :
Navigation inférieure
implementation "com.microsoft.device.dualscreen:bottomnavigation:1.0.0-beta4"
Gestionnaire de fragments
implementation "com.microsoft.device.dualscreen:fragmentshandler:1.0.0-beta5"
Dispositions
implementation "com.microsoft.device.dualscreen:layouts:1.0.0-beta8"
Tabulations
implementation "com.microsoft.device.dualscreen:tabs:1.0.0-beta4"
RecyclerView
implementation "com.microsoft.device.dualscreen:recyclerview:1.0.0-beta6"
SnackbarContainer
implementation "com.microsoft.device.dualscreen:snackbar:1.0.0-alpha2"
Composant de navigation pliable
def nav_version = "1.0.0-alpha3" // Java language implementation implementation "com.microsoft.device.dualscreen:navigation-fragment:$nav_version" implementation "com.microsoft.device.dualscreen:navigation-ui:$nav_version" // Kotlin implementation "com.microsoft.device.dualscreen:navigation-fragment-ktx:$nav_version" implementation "com.microsoft.device.dualscreen:navigation-ui-ktx:$nav_version"
Modules dépréciés
Important
Notre première version de ces dispositions a été empaquetée dans une seule bibliothèque com.microsoft.device:dualscreen-layout
.
Cette bibliothèque est dépréciée. Nous recommandons d’utiliser les bibliothèques individuelles ci-dessous pour les contrôles dont vous avez besoin.
ScreenManager (déprécié) : contient les classes principales dont nos composants ont besoin pour développer pour des appareils double écran. Vous pouvez également les utiliser directement dans votre code.
- Utilisez
ScreenManagerProvider
pour obtenir la seule instance deSurfaceDuoScreenManager
. - Utilisez
SurfaceDuoScreenManager
pour inscrire des écouteurs afin d’être notifié quand le mode d’écran change. - Utilisez
ScreenInfoProvider
pour obtenir une instance deScreenInfo
. - Utilisez
ScreenInfo
pour obtenir différentes informations d’écran en fonction du mode d’écran.
Si vous voulez choisir la version qui utilise l’API Afficher le masque, ajoutez la ligne suivante à votre fichier gradle.
implementation "com.microsoft.device.dualscreen:screenmanager-displaymask:1.0.0-beta4"
Ou si vous voulez choisir la version qui utilise l’API Gestionnaire de fenêtres, ajoutez la ligne suivante.
implementation "com.microsoft.device.dualscreen:screenmanager-windowmanager:1.0.0-beta4"
- Utilisez