Snackbar

Importante

Questi articolo descrive le funzionalità e il materiale sussidiario disponibili nell'anteprima pubblica, che potrebbero tuttavia subire modifiche sostanziali prima del rilascio della versione disponibile a livello generale. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

Panoramica

è SnackbarContainer un FrameLayout personalizzato con CoordinatorLayout come elemento figlio che può essere utilizzato come supporto per lo Snackbar. Questo contenitore è compatibile con la riduzione e può essere usato nei dispositivi piegabili, ma anche nei dispositivi normali. Il messaggio verrà visualizzato ogni volta nella parte inferiore dello schermo a 25 pixel fissi dai bordi dello schermo.

Usando le informazioni di WindowManager, questo contenitore sposta il figlio CoordinatorLayout in cui lo sviluppatore necessita, nella prima schermata, nella seconda schermata o nell'intera schermata. Per altri scenari, è possibile usare direttamente .Snackbar

Come importare la libreria nel progetto

  1. Verificare che il mavenCentral() repository si trova nel file build.gradle di primo livello:

     allprojects {
         repositories {
             google()
             mavenCentral()
          }
     }
    
  2. Aggiungere questa dipendenza al file build.gradle a livello di modulo:

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

  1. Se il progetto viene creato usando Java, sarà necessario aggiungere una dipendenza kotlin-stdlib al file build.gradle a livello di modulo, perché la libreria Snackbar è stata creata usando Kotlin.

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

Come mostrare uno snackbar a doppio schermo

Dopo aver aggiunto il pacchetto, seguire questa procedura per implementare lo snackbar a doppio schermo:

  1. Aggiungere nella SnackbarContainer parte inferiore della Activity visualizzazione radice o Fragment :

    <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. Usando un'istanza di SnackbarContainer, è possibile visualizzare Snackbar usando questo frammento di codice. Il snackbarContainer parametro è un'istanza di SnackbarContainer, il message parametro è il testo da visualizzare ed LENGTH_LONG è la durata di visualizzazione. La show funzione è una funzione di estensione usata per visualizzare l'oggetto Snackbar all'interno dell'oggetto SnackbarContainer specificato nella posizione specificata.

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

SnackbarPosition

I valori possibili per il position parametro sono:

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

Queste informazioni sono descritte in modo più dettagliato di seguito.

SnackbarPosition.START

Lo Snackbar verrà visualizzato nella parte inferiore della prima area di visualizzazione:

START: snackbar on the first screen, portrait orientation

START: snackbar on the first screen, landscape orientation

SnackbarPosition.END

Lo Snackbar verrà visualizzato nella seconda area di visualizzazione:

END: snackbar on the second screen, portrait orientation

END: snackbar on the second screen, landscape orientation

SnackbarPosition.BOTH

Lo Snackbar verrà visualizzato nella parte inferiore dell'intera area di visualizzazione:

BOTH: snackbar on both screens, portrait orientation

BOTH: snackbar on both screens, landscape orientation

Esempio

È possibile esaminare il codice dell'app di esempio snackbar per visualizzare tutti questi comportamenti.