Bandeau

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.

Vue d'ensemble

Il SnackbarContainer s’agit d’un FrameLayout personnalisé avec un CoordinatorLayout en tant qu’enfant qui peut être utilisé comme titulaire pour le Snackbar. Ce conteneur est conscient et peut être utilisé sur des appareils pliables, mais également sur des appareils réguliers. Le message s’affiche chaque fois en bas de l’écran à 25 pixels fixes à partir des bords de l’écran.

À l’aide des informations de WindowManager, ce conteneur déplace son enfant CoordinatorLayout dont le développeur a besoin, sur le premier écran, le deuxième écran ou l’écran entier. Pour d’autres scénarios, vous pouvez utiliser directement Snackbar.

Comment importer la bibliothèque dans votre projet

  1. Assurez-vous que le référentiel mavenCentral() se trouve dans votre fichier build.gradle de premier niveau :

     allprojects {
         repositories {
             google()
             mavenCentral()
          }
     }
    
  2. Ajoutez la dépendance au fichier build.gradle au niveau du module :

    dependencies {
         implementation "com.microsoft.device.dualscreen:snackbar:1.0.0-alpha2"
    }
    

  1. Si votre projet est créé à l’aide de Java, vous devez ajouter une dépendance kotlin-stdlib à votre fichier build.gradle au niveau du module (c’est-à-dire parce que la bibliothèque Snackbar a été créée à l’aide de Kotlin).

    dependencies {
       implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
    }
    

Comment afficher une snackbar double écran

Une fois le package ajouté, procédez comme suit pour implémenter la snackbar double écran :

  1. Ajoutez SnackbarContainer en bas de la vue Activity ou Fragment de la racine :

    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        xmlns:app="http://schemas.android.com/apk/res-auto" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
    
        <com.microsoft.device.dualscreen.snackbar.SnackbarContainer 
            android:id="@+id/snackbar_container" 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" 
            app:layout_constraintBottom_toBottomOf="parent" 
            app:layout_constraintEnd_toEndOf="parent" 
            app:layout_constraintStart_toStartOf="parent" /> 
    
    </androidx.constraintlayout.widget.ConstraintLayout>
    
  2. À l’aide d’une instance de SnackbarContainer , vous pouvez afficher le Snackbar en utilisant cet extrait de code. Le snackbarContainer paramètre est une instance de SnackbarContainer, le paramètre message est le texte à afficher et LENGTH_LONG est la durée d’affichage. La fonction show est une fonction d'extension utilisée pour afficher le Snackbar à l'intérieur du donné SnackbarContainer à la position spécifiée.

    Snackbar
        .make(snackbarContainer.coordinatorLayout, message, LENGTH_LONG)
        .show(snackbarContainer, position) 
    

SnackbarPosition

Les valeurs possibles pour le paramètre position sont les suivantes :

  • SnackbarPosition.START
  • SnackbarPosition.END
  • SnackbarPosition.BOTH

Elles sont expliquées en détail ci-dessous.

SnackbarPosition.START

La barre de collations s’affiche en bas de la première zone d’affichage :

START: snackbar on the first screen, portrait orientation

START: snackbar on the first screen, landscape orientation

SnackbarPosition.END

La Snackbar s'affiche sur la deuxième zone d'affichage :

END: snackbar on the second screen, portrait orientation

END: snackbar on the second screen, landscape orientation

SnackbarPosition.BOTH

La Snackbar s'affiche en bas de toute la zone d'affichage :

BOTH: snackbar on both screens, portrait orientation

BOTH: snackbar on both screens, landscape orientation

Exemple

Vous pouvez consulter le code de l’exemple d’application snackbar pour voir tous ces comportements.