Material Design系列之SnackBar

作者: 隔壁王较瘦 | 来源:发表于2016-08-10 16:28 被阅读175次

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

    相关文章

      网友评论

        本文标题:Material Design系列之SnackBar

        本文链接:https://www.haomeiwen.com/subject/esdjsttx.html