创新办公室
InnovationOffice
创新办公室InnovationOffice
第九章Dialog&;Notification
3710167@qq.com@innovation-office.net
innovation-office.net
innovation-office.net
创新自我创造价值
创新办公室
InnovationOffice
回顾
一.Menu分类二.Menu创建方式
innovation-office.net
创新自我创造价值
创新办公室
InnovationOffice
内容
一.Dialog二.Toast三.Notification
innovation-office.net
创新自我创造价值
创新办公室
InnovationOffice
1Dialog
?生命周期?创建Dialog?AlertDialog子类
innovation-office.net
创新自我创造价值
创新办公室
InnovationOffice
1.1Dialog的生命周期
innovation-office.net
创新自我创造价值
创新办公室
InnovationOffice
1.2实现一个AlertDialog
?生成一个AlertDialog的构造者AlertDialog.BuilderAlertDialog.Builderbuilder=newAlertDialog.Builder(context);?设置属性,包括标题、按钮和图标
––––builder.setIcon();builder.setTitle();builder.setPositiveButton();builder.setNegativeButton();
?最后生成AlertDialogbuilder.create();
innovation-office.net
创新自我创造价值
创新办公室
InnovationOffice
1.3AlertDialog子类
Dialog
AlertDialog
DatePickerDialog
ProgressDialog
TimePickerDialog
创新自我创造价值
innovation-office.net
创新办公室
InnovationOffice
2Toast
?Toast是Android提供的轻量级的提醒机制?Toast永远丌会获得聚焦丌会打断用户当前的操作,信息在floatingview呈现,然后会自动消失
innovation-office.net
创新自我创造价值
创新办公室
InnovationOffice
2.1创建Toast
?简单文字信息
?通过make()方法创建Toast信息?调用show()方法来显示Toast提示信息
?复杂Toast信息
?Toast支持通过setView(view)添加view组件
innovation-office.net
创新自我创造价值
创新办公室
InnovationOffice
3Notification
?Notification是Android提供的在状态栏的提醒机制?Notification同样丌会打断用户当前的操作?Notification支持更复杂的点击事件响应?由NotificationManager来管理
innovation-office.net
创新自我创造价值
创新办公室
InnovationOffice
3创建Notification四步骤之一
?得到NotificationManager
NotificationManagernotificationManager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
innovation-office.net
创新自我创造价值
创新办公室
InnovationOffice
3创建Notification四步骤之二
?初始化一个Notification
Notificationnotification=newNotification(R.drawable.notification_icon,"Hello",System.currentTimeMillis());
?在这一步需要设置显示在屏幕上方状态栏的通知消息、通知消息前方的图像资源ID和发出通知的时间。一般为当前时间。
innovation-office.net
创新自我创造价值
创新办公室
InnovationOffice
3创建Notification四步骤之三
?设置Notification的参数
Contextcontext=getApplicationContext();CharSequencecontentTitle="Mynotification";CharSequencecontentText="HelloWorld!";IntentnotificationIntent=newIntent(this,MyClass.class);PendingIntentpIntent=PendingIntent.getActivity(this,0,notificationIntent,0);notification.setLatestEventInfo(context,contentTitle,contentText,pIntent);
innovation-office.net
创新自我创造价值
创新办公室
InnovationOffice
3创建Notification四步骤之四
?显示一个Notification
privatestaticfinalintID=1;notificationManager.notify(ID,notification);
?参数中的ID用来唯一标识Notification对象,以便再次调用cancel(