学习笔记之Dialog,Toast,SnackBar
来源:互联网 发布:薛之谦淘宝店铺uujuly 编辑:程序博客网 时间:2024/04/30 20:09
学习笔记之Dialog,Toast,SnackBar
Dialog
AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("Title") .setMessage("Dialog content.") .setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface d, int which) { } }) .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface d, int which) { } }) .show();
这段代码就可以弹出一个非常精美的dialog了
Dialog的作用是给用户一个提示信息,并让用户根据提示做出判断,而Dialog的特征就是它会阻止你原本正在进行的操作,必须停止下来对Dialog进行处理.
但是大多数的人并不喜欢这样被打断,也许用户正在处理一项重要的操作,突然弹出一个dialog遮挡住了他原本的操作,用户就会非常恼火.因此使用dialog必须谨慎一点
Toast
要想不会阻挡用户当前的操作,Toast就是一个,Toast只会弹出一段信息,告诉用户某某事情已经发生了,过一段时间就会自动消失,他完全不会阻挡用户的任何操作,甚至用户也完全不用理会Toast
Toast.makeText(context, "things happened", Toast.LENGTH_SHORT).show();
最后一个参数用于指定Toast显示的时长,Toast.LENGTH_SHORT表示显示时间较短,Toast.LENGTH_LONG表示显示时间较长,但是Toast也有体验不好的时候.,比如你连续点击多次.Toast就触发了多次,导致Toast长时间关闭不掉.
因此最佳的做法是将Toast的调用封装成一个接口,写在一个公共的类中,如下所示:
public class Util { private static Toast toast; public static void showToast(Context context, String content) { if (toast == null) { toast = Toast.makeText(context, content, Toast.LENGTH_SHORT); } else { toast.setText(content); } toast.show(); }}
虽说Toast在用户体验方面比Dialog要好,但是也要慎用,特别是涉及一些敏感操作的时候,比如删除数据,只给用户一个提示”该数据已被删除”,而不给用户选择是否要删除的机会,这个时候用户肯定就要暴走了.
Snackbar
如果说dialog和toast是两个极端的话,那么Snackbar就是出于中间的位置了,Snackbar和Toast有些相似,但是用途更加广泛,并且它是可以和用户进行交互的,Snackbar使用动画从屏幕的地步弹出来,过一段时间之后也会自动消失,
在使用Snackbar之前,首先要添加相应的依赖:
dependencies { compile 'com.android.support:design:23.4.0'}
然后就可以使用Snackbar了,他和Toast的用法比较相似:
Snackbar.make(view, "data deleted", Snackbar.LENGTH_LONG) .setAction("Undo", new View.OnClickListener(){ @Override public void onClick(View v) { } }) .show();
这里调用Snackbar的Make方法来创建一个Snackbar的对象,make()方法的第一个参数需要传入一个view,只要是当前界面的任意一个view都可以,Snackbar会利用这个view来查找最外层的布局,用于展示Snackbar,第二个参数是Snackbar中显示的内容,第三个参数是Snackbar显示的时长.这些和Toast有些类似.
接着这里又调用了setAction()方法来设置一个动作,从而让Snackbar不仅仅是一个提示,而是可以和用户进行交互的,最后调用show()方法让Snackbar显示出来.
Snackbar的效果有点类似于toast,不过他是从屏幕底部弹出来的,Snackbar上面也可以加入和用户交互的按钮,比如删除数据的时候可以给用户一个Undo的选项,
- 学习笔记之Dialog,Toast,SnackBar
- Android微技巧之Dialog,Toast,Snackbar提醒
- Android开发之————Toast、Dialog、SnackBar
- Android提醒:Dialog,Toast,Snackbar
- Android dialog,toast,snackbar小节
- MaterialDesign之Snackbar学习笔记
- Android弹框使用:Dialog&Toast&Snackbar
- Dialog、Toast、Snackbar的区别和使用
- Snackbar提示,Toast和Dialog之间
- Android 信息提示Dialog、Toast和Snackbar
- Android Dialog、Toast和Snackbar详解
- Dialog Toast 和 Snackbar的使用经验
- Dialog、Toast、Snackbar的区别和使用
- Dialog Toast Snackbar 用法和技巧
- Android提醒技巧,Dialog、Toast和Snackbar
- Android提醒,Dialog、Toast和Snackbar。
- Android中Dialog、Snackbar、Toast使用区别?
- Android提醒Dialog、Toast和Snackbar ---站在巨人的肩膀上学习总结
- 一,MyBatis基础概述
- bzoj1081: [SCOI2005]超级格雷码
- iOS开发 获取相应自定义cell里控件的点击方法
- handler
- 清除emoji符号
- 学习笔记之Dialog,Toast,SnackBar
- nginx发送html文件,加了配置文件参数读取
- android 真机调试,Logcat无法显示的问题
- 发布Qt Quick程序的方法
- Linux下操作Mysql
- Window7 + MinGW 下配置Clion
- mysql导出数据库表结构
- Andriod性能优化之列表卡顿——以“简书”APP为例
- 普通用户程序使用保留端口 && error while loading shared libraries