Snackbar使用详解

简介: Snackbar使用详解

image.png

Snackbar是介于Toast与Dialog之间的一个控件,既可以像Toast一样自动消失,也可以像Dialog一样交互消失。


使用与Toast相似:

Snackbar.make(view, "已加入行程", Snackbar.LENGTH_SHORT).show();


第一个参数是view,任意都行,但是google官方建议传入CoordinatorLayout,一来在Snackbar显示的时候可以右滑移除,二来在Snackbar显示的时候布局会自动变



第二个参数是message,即提示的内容




第三个参数是显示的时长,Snackbar.LENGTH_SHORT 短时间显示且自动消失,Snackbar.LENGTH_LONG 长时间显示且自动消失,Snackbar.LENGTH_INDEFINITE 不消失显示 用在加了Action的情况下,在用户点击之后再消失。


高级一点的使用(改颜色,加Action,加回调):

final Snackbar mSnackbar = Snackbar.make(view, "已加入行程", Snackbar.LENGTH_INDEFINITE);
                //设置Snackbar的背景颜色
                mSnackbar.getView().setBackgroundColor(ContextCompat.getColor(MainActivity.this,R.color.colorPrimary));
                //设置Action文字的背景颜色
                mSnackbar.setActionTextColor(Color.WHITE);
                //设置Action并监听事件
                mSnackbar.setAction("知道了", new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        //to do something
                    }
                })
                        .show();
                //添加回调
                mSnackbar.addCallback(new Snackbar.Callback(){
                    @Override
                    public void onDismissed(Snackbar transientBottomBar, int event) {
                        super.onDismissed(transientBottomBar, event);
                        Log.i(TAG, "onDismissed(MainActivity.java:62)--->> " + "onDismissed");
                    }
                    @Override
                    public void onShown(Snackbar sb) {
                        super.onShown(sb);
                        Log.i(TAG, "onShown(MainActivity.java:68)--->> " + "onShown");
                    }
                });


Material Design设计规范:按钮最多一个,且提示文字是短文本


Github:https://github.com/yechaoa/MaterialDesign

目录
相关文章
|
Android开发
解决圆形进度条ProgressBar的几个问题
Android自带的Progressbar默认就是圆形的,可以通过设置style属性 style="?android:attr/progressBarStyleHorizontal" 复制代码 这样就能变成条状进度条,如下: <ProgressBar android:layout_width="match_parent" android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal"/>
1079 0
|
Android开发
Android 快别用Toast了,来试试Snackbar
🔥 应用场景 🔥 源码 💥 Toast.setGravity() 💥 Toast.isSystemRenderedTextToast() 🔥 Toast 提供的方法 💥 Toast.setView() 源码 🔥 Snackbar 💥 代码实现 💥 效果 💥 工具类
979 0
Android 快别用Toast了,来试试Snackbar
|
API Android开发 容器
Snackbar-Android M新控件
Snackbar-Android M新控件
75 0
|
API Android开发 容器
PopupWindow
PopupWindow
110 0
Dialog和DialogFragment 设置背景透明
Dialog和DialogFragment 设置背景透明
929 0
|
XML Android开发 数据格式
Snackbar详解
Snackbar是什么 Snackbar是Design Support Library库中的一个控件它是用来替代Toast的一个全新的控件,Snackbar与Toast最大的区别是Snackbar支持点击和滑动和滑动消失,如果用户没有进行操作它也会在到达指定时间后自动消失。
1546 0
|
Android开发 数据格式 XML
浅谈SnackBar(Toast大兄弟)
SnackBar是 Android Support Library 22.2.1 里面新增提供的一个控件,我们可以简单的把它理解成一个加强版的Toast,或者是一个轻量级的Dialog。   特点: 1.SnackBar和Toast的用途一样,都是用来提示用户操作后的结果的。
1370 0
|
Android开发
Android弹窗二则: PopupWindow和AlertDialog
前言 弹窗是图形界面必备的一个模块, 回忆一下windows那些恶心爆了的错误弹窗吧, 把弹窗制作的更高效友好一点是非常必要的. 这里说两个常用的弹窗类, PopupWindow和AlertDialog.
1127 0