[Android] Snackbar で通知と簡単なアクションを実装する

cat52 01 - [Android] Snackbar で通知と簡単なアクションを実装する
簡単な通知をユーザーに出すには、Toastがありますが、似たようなポップアップ機能として Snackbar があります。違いは画面下からせり出すこととユーザーにメッセージと共にアクションを提示できるところです。

Android Studio 3.5.3
API 29



Snackbar

 
SnackbarはToastと同じようにある短い期間だけ表示して消えます。ただ、設定によっては表示期間を決めたり、dismissするまで継続させたりと色々とできます。Googleのサンプルコードでよく使っているかもしれません

snackbar 01 - [Android] Snackbar で通知と簡単なアクションを実装する
 

 

Snackbarの表示

 
SnackbarはToastと似たような設定ですが、引数としてViewを取ります。因みにToastはContextでした。
 

 
また、Snackbarのサポートライブラリーが必要ですが、そのために
import android.support.design.widget.Snackbar;
gradleで
implementation ‘com.google.android.material:material:x.x.x’
をセットします。
注)API28以下では
android.support.design.widget.Snackbar
com.android.support:design:
 

尚、バージョンは適宜調整してください。
 
以下簡単にSnackbarをボタンタップのタイミングで表示させるコードです。
MainActivity.java

 
レイアウトです。ボタンをおいただけです。
activity_main.xml

strings.xml

 
build.gradle

 
ボタンタップでSnackbarが表示されました。
 
snackbar 01 - [Android] Snackbar で通知と簡単なアクションを実装する

 

Snackbarのアクション設定

 
Snackbarにアクションを設定してみましょう。
バーの右横にボタンのようにmessageが設定されてそれをタップするとアクションが実行されます。Buttonのような感じに使えます。
 

 
その他にバーの背景色を変えたり、Actionの文字列色を変更するメソッドがあります。
まとめてアクションによりTextViewから応答メッセージを表示させてみます。
 
MainActivity.java

 
activity_main.xml

 
strings.xml

 
build.gradle

 

サンプル動画

 
setDuration()を使って表示期間を長くしてみましたが、Actionで終了してくれます。正直、こういった通知がユーザーによっては邪魔な時があるのですぐに消す目的に使えるかもしれません。(Swipeでも消えますけど)
 

 
Reference:
Snackbar | Android Developers

誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム

ブックマークしておくと便利です このエントリーをはてなブックマークに追加

 

アプリ開発が上達するお勧め

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンラインのプログラミングスクールがいいでしょう。

オンラインスクールは色々ありますが、以下の3つはAndroidが学習できる老舗スクールです。


TECH ACADEMY
Androidアプリコース


こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。


侍エンジニア塾
侍エンジニア塾 無料体験レッスン


とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


CodeCamp
~約8,000名の受講生と80社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp




直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。


無料で転職まで
これはアプリ限定ではありませんが無料です
その代わり就職することを前提にしたスクールでエンジニアになって職を得たいのであれば手っ取り早いかもしれません




シェアする

  • このエントリーをはてなブックマークに追加

フォローする