Material Design系列之SnackBar

学习控件当然要从最简单的开始了,一口吃不成一个胖子(当然我怎么吃也吃不胖,这是最气的)。
话不多说,开始学习控件了,最简单的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();
Material Design系列之SnackBar_第1张图片
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到此就结束了。**

你可能感兴趣的:(Material Design系列之SnackBar)