Material Design系列之SnackBar

2017-01-14 15:49:34来源:http://www.jianshu.com/p/ae3380774349作者:隔壁王较瘦人点击

第七城市

学习控件当然要从最简单的开始了,一口吃不成一个胖子(当然我怎么吃也吃不胖,这是最气的)。
话不多说,开始学习控件了,最简单的SnackBar,它当于Toast,使用方法也差不多,找Google的说法来说,比Toast更友好一点。


不难,就把分步写了。
添加依赖包,不添加依赖包的话,默认是没有的。。。


    compile 'com.android.support:design:24.1.1'

好了,依赖包添加完成了之后就可以愉快的使用了,


简单使用?
第一种显示方式

第一种显示模式呢,跟Toast一样,直接设置两种显示时长就可以了


    Snackbar.make(view,"SnackBar",Snackbar.LENGTH_SHORT).show();
Snackbar.make(view,"SnackBar",Snackbar.LENGTH_LONG).show();

是不是和Toast没什么两样?还有一种显示模式,这个模式感觉挺棒的,自由啊。


第二种显示模式

这个就高端一点了,能自定义显示时长


    Snackbar.make(view,"SnackBar", Snackbar.LENGTH_INDEFINITE)
.setDuration(2000)
.show();

看到没,LENGTH_INDEFINITE,这个参数是不确定的值,如果只是设置了这个参数而没有设置显示时间的话,那它就会一直显示。。。
可是我不想让它一直显示怎么办-_-! 简单,有看到.setDuration(2000) 这个方法没,没看到?你在仔细看看,这个方法就是设置显示时长的,参数是毫秒值。


setDuration()方法注意事项

一旦使用了这个方法,那么你在make方法中最后一个参数设置的显示模式将失效,显示时长会 按照setDuration()这个方法设置的值进行显示。


高级点的用法?
设置一个小按钮

别人显示的SnackBar都有撤销小按钮,咱不能没有啊,看代码先。


    Snackbar.make(view, "SnackBar", Snackbar.LENGTH_INDEFINITE)
.setAction("撤销", new View.OnClickListener() {
@Override
public void onClick(View view) {
}
})
.setDuration(2000)
.show();


SnackBar.png

看,就是设置一个action,就显示出来了一个小的,可点击的文字,参数解释?
第一个参数是显示出来的文字,第二个是点击之后的事件,要进行什么操作就在这里执行。
如果设置两次action会已最后一次设置的action为准


小按钮默认字体颜色不好看?

setActionTextColor(Int color)使用这个方法设置字体颜色。


显示隐藏监听

和Toast不同的是,SnackBar提供了一个Callback方法用来监听SnackBar的显示与隐藏。你可以在这些回调方法中做一些操作。


    setCallback(new Snackbar.Callback() {
@Override
public void onDismissed(Snackbar snackbar, int event) {
super.onDismissed(snackbar, event);
}
@Override
public void onShown(Snackbar snackbar) {
super.onShown(snackbar);
}
})

好了,SnackBar到此就结束了。




第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台