Pop-up-Nachricht erstellen und einblenden

Schreiben Sie jetzt
Jetpack Compose ist das empfohlene UI-Toolkit für Android. Weitere Informationen zum Hinzufügen von Benachrichtigungen in „Schreiben“
<ph type="x-smartling-placeholder"></ph> Snackbar →

Sie können einen Snackbar bis eine kurze Nachricht für die Nutzenden anzuzeigen. „Mag ich“-Bewertung entfernen Benachrichtigungen, die verschwindet die Nachricht nach kurzer Zeit automatisch. Ein Snackbar ist ideal für kurze Botschaften, auf die die Nutzenden nicht reagieren müssen. Beispiel: E-Mail-App kann dem Nutzer mithilfe von Snackbar mitteilen, dass die App hat erfolgreich eine E-Mail gesendet.

CoordinatorLayout verwenden

Ein Snackbar ist mit einer Ansicht verknüpft. Das Snackbar bietet grundlegende Funktionen, wenn es an ein Objekt angehängt ist, das aus dem View-Klasse, z. B. alle gängigen Layoutobjekte. Wenn Snackbar jedoch an eine CoordinatorLayout, Snackbar erhält zusätzliche Funktionen:

  • Der Nutzer kann die Snackbar schließen, indem er sie wegwischt.
  • Beim Layout werden andere UI-Elemente verschoben, wenn Snackbar angezeigt wird. Enthält das Layout zum Beispiel FloatingActionButton, wird die Schaltfläche nach oben verschoben, wenn Snackbar angezeigt wird. Snackbar auf der Schaltfläche zu zeichnen. Sie können sehen, wie sieht das in Abbildung 1 aus.

Die Klasse CoordinatorLayout bietet eine Obermenge von Funktionalität von FrameLayout. Wenn in deiner App bereits ein FrameLayout verwendet wird, kannst du dieses Layout ersetzen. mit einem CoordinatorLayout, um den vollen Snackbar zu aktivieren Funktionalität. Wenn in deiner App andere Layoutobjekte verwendet werden, kannst du das vorhandene Layout umschließen. Elemente in einer CoordinatorLayout, wie im Folgenden gezeigt Beispiel:

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/myCoordinatorLayout"
    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">

    <!-- Here are the existing layout elements, now wrapped in
         a CoordinatorLayout. -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <!-- ...Toolbar, other layouts, other elements... -->

    </LinearLayout>

</android.support.design.widget.CoordinatorLayout>

Lege ein android:id-Tag für dein CoordinatorLayout fest. Sie benötigen die Layout-ID, wenn Sie die Mitteilung anzeigen lassen möchten.

Abbildung 1: CoordinatorLayout verschiebt den FloatingActionButton erhöht, wenn Snackbar angezeigt wird.

Nachricht anzeigen

Zum Anzeigen einer Mitteilung sind zwei Schritte erforderlich. Zunächst erstellen Sie ein Snackbar-Objekt mit dem Nachrichtentext. Dann rufen Sie die Funktion show() um dem Nutzer die Mitteilung anzuzeigen.

Snackbar-Objekt erstellen

Erstellen Sie ein Snackbar-Objekt durch Aufrufen der statischen Snackbar.make() . Geben Sie beim Erstellen des Snackbar die Nachricht an, und wie lange die Meldung angezeigt werden soll:

Kotlin

val mySnackbar = Snackbar.make(view, stringId, duration)

Java

Snackbar mySnackbar = Snackbar.make(view, stringId, duration);
Ansehen
Die Ansicht, an die Snackbar angehängt werden soll. Die Methode sucht nach den von der übergebenen Ansicht bis zu einem CoordinatorLayout oder die Inhaltsansicht der Fensterdekoration. Normalerweise ist es einfacher, die CoordinatorLayout der Ihren Content einschließt.
String-ID
Die Ressourcen-ID der Mitteilung, die angezeigt werden soll. Dieser kann formatiert oder unformatierten Text.
dauer
Die Zeitspanne, in der die Nachricht angezeigt wird. Dabei kann es sich um LENGTH_SHORT oder LENGTH_LONG.

Zeige dem Nutzer die Nachricht

Nachdem Sie die Snackbar erstellt haben, rufen Sie deren show() auf Methode, um dem Nutzer Snackbar anzuzeigen:

Kotlin

mySnackbar.show()

Java

mySnackbar.show();

Das System zeigt nicht mehrere Snackbar-Objekte gleichzeitig an Wenn also in der Ansicht gerade ein anderer Snackbar angezeigt wird, System stellt Ihr Snackbar in die Warteschlange und zeigt es nach dem aktuellen Snackbar läuft ab oder wird geschlossen.

Wenn Sie dem Nutzer eine Nachricht anzeigen möchten und keine der Snackbar-Objekts Dienstprogrammmethoden verwenden, müssen Sie das Feld Verweis auf Snackbar nach dem Aufrufen von show(). Für Aus diesem Grund wird häufig Methodenverkettung verwendet, um eine Snackbar in einer Anweisung:

Kotlin

Snackbar.make(
        findViewById(R.id.myCoordinatorLayout),
        R.string.email_sent,
        Snackbar.LENGTH_SHORT
).show()

Java

Snackbar.make(findViewById(R.id.myCoordinatorLayout), R.string.email_sent,
                        Snackbar.LENGTH_SHORT)
        .show();