Android移动应用设计与开发--第05章.ppt

Android移动应用设计与开发--第05章

5.6.1 常规Notification notification.ledOnMS LED显示的毫秒数。 notification.vibrate 该通知通知时震动。 notification.contentView 在没有指定该属性时使用通知,系统会使用默认的布局,指定后系统会采用该布局。 notification.audioStreamType 当该通知需要声音提醒时,表示音频输出流来自于哪里,一般有系统的,还有音乐播放器的。 notification.deleteIntent 设置该属性后,当通知被系统“清除”按键清除时调用的Intent。 注意一点,最好不要使用该Intent去打开一个Activity,原因是该时刻用户的手机通知栏上面有可能存在同样打开Activity的Intent,这样就会造成冲突后果不可预料。 5.6.1 常规Notification notification.defaults 使用默认形式,可以通过或运算来结合使用,里面包含了接收通知时震动、声音、Led灯的默认情况。 notification.vibrate 该通知通知时震动。 notification.contentIntent 是一个PendingIntent对象,表示点击通知时要执行的Intent,与startActivity(),startBroadCast(),startService()中装入的Intent是一样的。前者要点击才会触发Intent的调用,后者当代码执行到它是就立刻调用了。 注意:使用一般的,不是自定义的Notification的时候,需调用方法 notification.setLatestEventInfo(context, title, content, notification.contentIntent); 否则会抛异常。 context:上下文 title:通知标题 content:通知内容 5.6.1 常规Notification contentIntent(PendingIntent): 表示点击该通知要执行Intent,它不是Intent,但是其实例对象中包含了Intent的实例,有3种方法获得PendingIntent: (1)PendingIntent.getActivity();表示用来启动一个Activity,通过其包含的参数Intent中指定要跳转的Activity (2)PendingIntent.getBroadCast();表示用来启动一个BroadCastReceiver,通过其包含的参数Intent中指定要启动的BroadCastReceiver (3)PendingIntent.getService();表示用来启动一个Service,通过其包含的参数Intent中指定要启动的Service 在获得PendingIntent的上述三个方法中包含有一个Flag,共有以下几种取值: (1)FLAG_NO_CREATE 如果PendingIntent不存在,返回null而不创建它; (2)FLAG_ONE_SHOT PendingIntent只能使用一次; (3)FLAG_CANCEL_CURRENT 如果PendingIntent已存在,取消当前的PendingIntent,产生一个新的; (4)FLAG_UPDATE_CURRENT 如果PendingIntent已存在,则更新其数据 以上4种作用的对象是PendingIntent和Notification的Flag,它们是截然不同的。 Notification的Flag决定的是通知的类型,PendingIntent的Flag决定的PendingIntent的特性,与通知没有关系 5.6.2 自定义Notification 系统默认的Notification布局是固定的,对于某些应用来说,系统提供的布局是有限的。在自定义的Notification中,更多的是布局上的变化,其他的属性较少改变。系统为自定义Notification指定了一个contentView来存放自定义的布局。 5.7 列表 5.7.1 常用Adapter 5.7.2 自定义Adapter ?本章导读 5.7 列表 在Android系统的很多应用中我们会经常看到列表,而且样式各种各样,这是怎么实现的呢?ListView的直接父类是ViewGroup,那么也就是说它自己定义了排列子View的排列规则。ListView和所要展示的内

文档评论(0)

1亿VIP精品文档

相关文档