[Android & Kotlin] Snackbar で通知とアクションを実装する

SnackbarはToastと同じように簡単なメッセージをユーザーに通知できます。更にメッセージと共にボタンタップでのアクションを提示することも可能です。
 
snackbar 01 - [Android & Kotlin] Snackbar で通知とアクションを実装する

Android Studio 3.1.4
API 28
Kotlin 1.2.61

 



Snackbar

 
SnackbarはToastと同じようにある短い期間だけ表示して消えます。自動的に消えるのがいい場合と残して欲しい場合もあります。Snackbarでは表示期間をdismissするまで継続させたりとカスタマイズは色々とできます。
 

 

Snackbarの表示

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

 
また、Snackbarのサポートライブラリーが必要ですが、そのためにgradleでcom.android.support:design:のdependence をセットします。
 

尚、バージョンは適宜調整してください。
 
ところで、このViewをどう持ってくるかなのですが、1つの方法としてボタンタップでの表示。この場合はButtonがView!をitとして持っているのでそれを使えます。
 
それ以外に、例えばonCreate()で即表示したい場合は、レイアウトファイルにidをつけてそれをViewとして持ってくることができます。
activity_main.xml

 
MainActivity.kt

以下簡単にSnackbarを表示させるコードですが、
Kotlin Android Extensions を使って簡略化しています。

MainActivity.kt

 
レイアウトです。
activity_main.xml

 
バージョンは他のライブラリーと相互に関連するので調整が必要です。(たまたま、この時はこのバージョンで適合したというだけです)
build.gradle

 
Snackbarが表示されました。
 
snackbar 01 - [Android & Kotlin] Snackbar で通知とアクションを実装する

 

Snackbarのカスタマイズ

 
Snackbarにアクションを設定をしたり、文字色を変えるなどカスタマイズしてみましょう。
setAction()を使うと、バーの右横にmessageが設定されてそれをタップするとアクションが実行されます。Buttonのような感じに使えます。
 

 
カスタマイズとして以下のことをやってみました。

  • LENGTH_INDEFINITE: 表示をdismiss()が呼ばれるまで表示
  • setAction: ボタンのようにタップでTextViewを変更
  • view.setBackgroundColor():Snackbarの背景色
  • Snackbarのテキスト色、サイズ変更
  • Actionボタンの背景色と色を変更

 
MainActivity.kt

 
activity_main.xml

 
strings.xml

 
build.gradle

 

サンプル動画

 
setActionのテキストやタップはTextViewやButtonとして設定していけるので、後は色々と変更が可能となります。
 

 
Reference:
Snackbar | Android Developers

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

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




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

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

以下の3つはAndroidが学習できるオンラインスクールです。


TECH ACADEMY
Androidアプリコース



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



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





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

尚、スクールがダメだと言う人がいますが、やる気があれば問題ありません。与えられるのを待っていてはいけないですね
欲しいものは取りに行くのです。


Google Pixel 3 XLグローバル版
SIMフリー 並行輸入品
6.3インチの大画面
背景をぼかすポートレートモード撮影


Anker PowerCore II Slim 10000
Power IQ 2.0搭載
iPhone & Android対応

シェアする

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

フォローする