主要介绍Android常用于消息提示的组件:ALertDialog、Toast、Notification的使用场景以及它们的基本用法,探讨一些高级主题,最后总结一些开发过程中常见的问题。
本文代码地址:https://github.com/JueYingCoder/AndroidNotice
首先我们来对这三种消息提示机制来一个直观的认识,分别是AlertDialog Toast、Notification
接下来分别介绍这三种机制各自对应的使用场景和用法
AlertDialog
使用场景:AlertDialog在应用内的使用还是很常见的,常用于让用户做出某种选择,而这种选择一定是简单的交互,如果是复杂的就应该用另一个Activity来承接而非AlertDialog,基本用法和高级主题:请参考我以前写过的这篇文章,介绍的很详细:http://blog.csdn.net/qwm8777411/article/details/45420451
Toast的使用
使用场景:首先Toast有两个显著的特点:
1,Toast提示消息不会获得焦点;
2,Toast提示消息过一段时间会自动消失。
基于以上两点,Toast常用于提示一些不需要和用户交互的简单消息,
基本用法:既可以创建简单的用于文本提示的Toast,也可以创建自定义View的Toast
使用简单Toast的基本步骤:
1,通过Toast的静态方法makeText()创建一个Toast对象
2,调用Toast的其他方法设置属性
3,调用show()方法将它显示出来;
它的使用比较简单,大部分用来显示简单的文本提示;如果应用需要显示诸如图片、列表之类的复杂提示、一般使用对话框来完成。当然可以通过setView()方法实现定制的Toast视图;
显示文本的简单Toast
Toast toast=ToastmakeText(context,"文本消息",Toast.LENGTH_SHORT);
toast.show();
自定义View的Toast:
Toast toast=new Toast(Context context);
toast.setGravity(Gravity.CENTER,0,0);//设置显示位置
toast.setView(R.layout.toast_view);//设置视图
toast.setDuration(Toast.LENGTH_SHORT);//设置显示时长
toast.show();
Notification的使用
**使用场景:**Notification是那些不可见的应用程序组件(BroadcastReceiver、Service、非活动状态的Activity)的首选机制用来提醒用户,需要他们注意的事件已经发生。也可以用来指示持续运行的后台Service。
Notification是应用程序提醒用户发生某些事件的一种方式,无需某个Activity可见,Notification是由NotificationManager进行处理的;当前包括以下功能:
- 显示状态栏图标 :
- 灯光闪烁
- 让手机振动
- 发出声音提醒
- 在通知托盘中使用交互式操作来广播Intent
使用Notification的基本步骤:
1,创建NotificationManager
NotificationManager nm=