学习控件当然要从最简单的开始了,一口吃不成一个胖子(当然我怎么吃也吃不胖,这是最气的)。
话不多说,开始学习控件了,最简单的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到此就结束了。**
网友评论