こちらの
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>
CoordinatorLayout
に android:id
タグを設定します。
メッセージを表示するときに、レイアウトの ID が必要です。
メッセージを表示する
メッセージを表示するには、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();