ポップアップ メッセージを作成して表示する

Compose を試す
Jetpack Compose は、Android に推奨される UI ツールキットです。Compose で通知を追加する方法について学習します。
<ph type="x-smartling-placeholder"></ph> スナックバー →

こちらの Snackbar~ ユーザーに簡単なメッセージを表示します高評価を取り消す 通知、 しばらくすると自動的に消えます。Snackbar は ユーザーの操作が必要ない短いメッセージに最適です。たとえば、 メールアプリが Snackbar を使用して、アプリが はメールを送信しました。

CoordinatorLayout を使用する

Snackbar はビューにアタッチされます。Snackbar から派生したオブジェクトにアタッチされている場合、 次のような View クラス 共通のレイアウトオブジェクトを使用できます。ただし、Snackbar が アタッチされている CoordinatorLayout, Snackbar は次の追加機能を取得します。

  • Snackbar はスワイプして消去できます。
  • Snackbar が表示されると、レイアウトによって他の UI 要素が移動されます。 たとえば、レイアウトに FloatingActionButton, Snackbar が表示されている場合、レイアウトはボタンを上に移動します。 Snackbar をボタンの上に描画します。ご覧のとおり、 図 1 のようになります。

CoordinatorLayout クラスは、 機能 FrameLayout。 アプリですでに FrameLayout を使用している場合は、そのレイアウトを置き換えることができます CoordinatorLayout を指定して、Snackbar 全体を有効にします。 説明します。アプリで他のレイアウト オブジェクトを使用する場合は、既存のレイアウトをラップする CoordinatorLayout の要素を示しています。 例:

<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>

CoordinatorLayoutandroid:id タグを設定します。 メッセージを表示するときに、レイアウトの ID が必要です。

図 1. CoordinatorLayout は、 Snackbar が表示されたら FloatingActionButton 上がります。

メッセージを表示する

メッセージを表示するには、2 つのステップがあります。まず メッセージ テキストを含む Snackbar オブジェクト。次に、そのオブジェクトの show() メソッドを使用して、ユーザーにメッセージを表示します。

Snackbar オブジェクトを作成する

静的メソッドを呼び出して Snackbar オブジェクトを作成する Snackbar.make() メソッドを呼び出します。Snackbar を作成するときに、メッセージを指定します。 メッセージの表示時間:

Kotlin

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

Java

Snackbar mySnackbar = Snackbar.make(view, stringId, duration);
ビュー
Snackbar をアタッチするビュー。このメソッドは、 渡されたビューから CoordinatorLayout またはウィンドウ デコレーションのコンテンツ ビュー。 通常は、CoordinatorLayout を渡すほうが簡単です。 コンテンツを囲みます。
stringId
表示するメッセージのリソース ID。形式を指定することも、 指定することもできます。
期間
メッセージを表示する時間の長さ。これは次のいずれかです。 LENGTH_SHORT または LENGTH_LONG

ユーザーにメッセージを表示する

Snackbar を作成したら、その show() を呼び出します。 メソッドを使用して、ユーザーに Snackbar を表示します。

Kotlin

mySnackbar.show()

Java

mySnackbar.show();

複数の Snackbar オブジェクトが同時に表示されない そのため、ビューに現在別の Snackbar が表示されている場合、 システムが Snackbar をキューに入れ、現在の Snackbar は期限切れになるか、破棄されます。

ユーザーにメッセージを表示するときに、 Snackbar オブジェクトのユーティリティ メソッドを使用すると、 show() を呼び出した後の Snackbar への参照を追加します。対象 そのため、メソッド チェーンを使用して、 Snackbar を 1 つのステートメントで記述する:

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();