添加 Snackbar
材料设计的主要特征之一是添加了 Snackbar,理论上它取代了以前的 Toast。根据 Android 文档:
Snackbars 包含与执行操作直接相关的单行文本。它们可能包含文本操作,但没有图标。Toasts 主要用于系统消息传递。它们也显示在屏幕的底部,但可能无法在屏幕外滑动。

Toast 仍然可以在 Android 中用于向用户显示消息,但是如果你决定在应用中选择使用材料设计,则建议你实际使用快餐栏。Snackbar 从底部弹出,而不是在屏幕上显示为叠加层。
以下是它的完成方式:
Snackbar snackbar = Snackbar
.make(coordinatorLayout, "Here is your new Snackbar", Snackbar.LENGTH_LONG);
snackbar.show();
至于显示 Snackbar 的时间长度,我们有类似于 Toast 提供的选项,或者我们可以设置自定义持续时间(以毫秒为单位):
LENGTH_SHORTLENGTH_LONGLENGTH_INDEFINITEsetDuration()(自版本22.2.1)
你还可以为 Snackbar 添加动态功能,例如 ActionCallback 或自定义颜色。但是在定制 Snackbar 时请注意 Android 提供的设计指南 。
然而,实现 Snackbar 有一个限制。你要实现 Snackbar 的视图的父布局需要是一个 CoordinatorLayout。这样就可以从底部获得实际的弹出窗口。
这是如何在布局 xml 文件中定义 CoordinatorLayout:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
//any other widgets in your layout go here.
</android.support.design.widget.CoordinatorLayout>
然后需要在 Activity 的 onCreate 方法中定义 CoordinatorLayout,然后在创建 Snackbar 本身时使用。