Android还在用Toast?你Out啦,该试试Snackbar了
<pre name="code" class="java">例:Snackbar.make(view, message, duration) .setAction(action message, click listener) .show();
Snackbar是design support library中另一個組件,使用Snackbar我們可以在屏幕底部(大多時候)快速彈出消息,它和Toast非常相似,但是它更靈活一些。
- 當它顯示一段時間后或用戶與屏幕交互時它會自動消失。
- 可以自定義action-可選操作。
- swiping it off the screen可以讓FAB消失
- 它是context sensitive message(自己理解吧),所以這些消息是UI screen的一部分并且它是顯示在所有屏幕其它元素之上(屏幕最頂層),并不是像Toast一樣覆蓋在屏幕上。
- 同一時間只能顯示一個snackbar。
Snackbar基本上繼承了和Toast一樣的方法和屬性,例如LENGTH_LONG 和 LENGTH_SHORT用于設置顯示時長。
如何使用
我們看一下如何使用:
Snackbar.make(view, message, duration) .setAction(action message, click listener) .show();
方法:
- make()?– 生成Snackbar消息
- setAction()?– 設置action
- make()?– 顯示Snackbar消息
屬性:
- make()方法的第一個參數是一個view, snackbar會試著尋找一個父view來hold這個view. Snackbar將遍歷整個view tree 來尋找一個合適的父view,它可能是一個coordinatorLayout也可能是window decor’s content view,隨便哪一個都行。
- 正如上面所提到,duration參數和Toast中的duration參數類似,只能是LENGTH_SHORT 或 LENGTH_LONG,不能是其它任何隨機數。
示例:
[java]?view plaincopy
部局文件中rootlayout是framelayout并且添加了FAB(Floating action button),看一下FAB示例:
點擊FAB查看結果:
程序沒問題,但是對于用戶體驗來說并不太好,它應該向上移一些,如下圖所示:
Having a CoordinatorLayout in your view hierarchy allows Snackbar to enable certain features, such as swipe-to-dismiss and automatically moving of widgets like FloatingActionButton.
我們在該系列文章的下一部分討論CoordinatorLayout。
配置Snackbar可選操作
我們可以使用額外的可選操作來配置snackbar,比如setActionTextColor?和?setDuration:
[java]?view plaincopy
下載示例代碼:https://github.com/PareshMayani/DesignSupportLibraryExamples
參考文檔:
https://developer.android.com/reference/android/support/design/widget/Snackbar.html
總結
在這部分文章中,我們討論了Snackbar,它和TOAST很相似,但是它更靈活一些。Snackbar中可以定義action,當用戶與屏幕交互時或者顯示一段時間后會自動消失。
總結
以上是生活随笔為你收集整理的Android还在用Toast?你Out啦,该试试Snackbar了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Studio 全面教程
- 下一篇: Android按比例布局之layout_