基础篇-Snackbar的简单使用
在Metarial Design设计语言发布之前,对于用户提示,我们都是用Toast实现的。Snackbar可以完全代替Toast的功能,并且在此基础之上还添加了动作的处理
下面我们来看一下Snackbar是如何使用的
1、创建一个新的Android项目的时候,是不会主动添加design库的,这样就无法使用Snackbar。所以我们需要在gradle文件中添加一个android的design库的依赖
|
|
这里需要注意的是版本号的问题,因为现在新创建的项目的Activity都是继承的AppCompatActivity 所以这里的版本号需要与下面的版本号一致,
否则在编译的时候会报错。
接下来我们就可以在Activity中欢快的调用Snackbar了,调用的时候需要用一个控件容器去容纳Snackbar,Google官方推荐的是CoordinatorLayout,因为使用这个控件作为容器的时候,用户还可以通过向右滑动来移除Snackbar,其实使用CoordinatorLayout来作为控件容器的话,会在界面显示的优化上有很大的作用,这个我们以后讲到CoordinatorLayout这个控件的时候详细的说明,这里就一带而过了。
|
|
多个Snackbar的显示机制相较于Toast而言是由很大的改善的,Toast在多次点击显示的时候,会依次显示,直到多有的Toast全部显示完毕,但是Snackbar无论点击显示多少次,都会只显示最后一个,如果已经有一个Snackbar在显示的话,则会移除掉已经显示的Snackbar。
这个是Snackbar最基本的用法,此外我们还可以对Snackbar添加一个Action
添加了Action之后,Snackbar的右边就多出了一个按钮,点击这个按钮就可以添加我们想要执行的任务了,我们在这里只是想要弹出一个Toast就行了
以上就是Snackbar的使用,还是很简单的,最后再来看一下Snackbar的各种属性设置以及方法的调用
方法或属性名 | 使用说明 |
---|---|
Snackbar.LENGTH_LONG | 长时间显示 |
Snackbar.LENGTH_LONG | 段时间显示 |
Snackbar.LENGTH_INDEFINITE | 无限期的显示,除非被关闭或者显示了另外一个Snackbar |
setDuration(int duration) | 设置Snackbar的显示时间,使用此方法设置了显示时间之后,make方法中的时间参数就失效了,以该方法定义的时间为准 |
Snackbar常用的一些属性和方法就是这些了
进阶篇-改变Snackbar中Message的字体颜色
欢迎大家指正!