[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

スマホの下取り

まだ1年も使っていないスマホを新機種に変えたくて下取りしようとお店に持ち込んだことがありますが、結局なんだかんだと思ったほどの金額になりませんでした(涙

このネットオフは専業のため高額買取が可能で、お店に行く時間が無い人にとっては送料無料の宅配便が自宅まで引取りに来てくれるのは助かります。

定額買取キャンペーン中であればキズがあっても付属品が無くても減額無しでお得です。」


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

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




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

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

シェアする

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

フォローする