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 conteneurs SingleScreen ou DualScreen 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é avec FoldableLayoutManager.
    • FoldableLayoutManager fournit un LinearLayoutManager quand l’appareil est en mode écran simple et un GridLayoutManager 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é avec FoldableStaggeredLayoutManager.
    • FoldableStaggeredLayoutManager fournit un LinearLayoutManager quand l’appareil est en mode écran simple et un StaggeredGridLayoutManager 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 le Snackbar positionner sur des appareils pliables.

Déclaration des dépendances

  1. Vérifiez que vous disposez du référentiel mavenCentral() dans votre fichier build.gradle de premier niveau :

    allprojects {
        repositories {
            google()
            mavenCentral()
         }
    }
    
  2. 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 de SurfaceDuoScreenManager.
    • Utilisez SurfaceDuoScreenManager pour inscrire des écouteurs afin d’être notifié quand le mode d’écran change.
    • Utilisez ScreenInfoProvider pour obtenir une instance de ScreenInfo.
    • 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"