Snackbar源码分析

2018-10-15  本文已影响0人  杨充211

目录介绍

好消息

1.最简单创造方法

1.1 Snackbar作用

1.2 最简单的创建

Snackbar sb = Snackbar.make(v,"潇湘剑雨",Snackbar.LENGTH_LONG)
        .setAction("删除吗?", new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //点击了"是吗?"字符串操作
                ToastUtils.showRoundRectToast("逗比");
            }
        })
        .setActionTextColor(Color.RED)
        .setText("杨充是个逗比")
        .addCallback(new BaseTransientBottomBar.BaseCallback<Snackbar>() {
            @Override
            public void onDismissed(Snackbar transientBottomBar, int event) {
                super.onDismissed(transientBottomBar, event);
                switch (event) {
                    case Snackbar.Callback.DISMISS_EVENT_CONSECUTIVE:
                    case Snackbar.Callback.DISMISS_EVENT_MANUAL:
                    case Snackbar.Callback.DISMISS_EVENT_SWIPE:
                    case Snackbar.Callback.DISMISS_EVENT_TIMEOUT:
                        ToastUtils.showRoundRectToast("删除成功");
                        break;
                    case Snackbar.Callback.DISMISS_EVENT_ACTION:
                        ToastUtils.showRoundRectToast("撤销了删除操作");
                        break;
                }
                Log.d("MainActivity","onDismissed");
            }
            @Override
            public void onShown(Snackbar transientBottomBar) {
                super.onShown(transientBottomBar);
                Log.d("MainActivity","onShown");
            }
        });
sb.show();

1.3 Snackbar消失的几种方式

2.源码分析

2.1 Snackbar的make方法源码分析

2.2 对Snackbar属性进行设置

2.3 Snackbar的show显示与点击消失

2.4 显示和隐藏中动画源码分析

3.经典总结

3.1 Snackbar和SnackbarManager类的设计

4.思考问题分析

4.1 Snackbar的设计思路

4.2 什么时候Snackbar显示会导致FloatingActionButton上移

4.3 Snackbar控件show时为何从下往上移出来

4.4 为什么Snackbar总是显示在最下面

4.5 Snackbar与吐司有何区别

5.Snackbar封装库

关于其他内容介绍

01.关于博客汇总链接

02.关于我的博客

上一篇下一篇

猜你喜欢

热点阅读