读书人

Notification兑现下载进度显示

发布时间: 2012-06-29 15:48:46 作者: rapoo

Notification实现下载进度显示!

用惯了Android的人在刚拿到iPhone的时候,总是会习惯性的用手指从状态栏往下拖一下,这都是给Notification闹的。
不过Notification也确实是1个不错的提示工具,不干扰正常的操作,事后还可以再翻看详细的内容,点击后还可以进入相关的画面查看更具体的内容。
今天我就以代码为主的形式来介绍Notification的使用,包括基本用法,自定义的View,以及更多的控制方法。
另一种Android中常用到的提示方法Toast的用法请参见《教程:在Android中使用Toast进行提示》
我们先看下Notification的几个主要组成部分:
Icon:不解释
Ticker Text:Notification刚出来的时候,在状态栏上滚动的字幕,如果很长,会自动分割滚动
Notification兑现下载进度显示
Content Title:Notification展开后的标题
Content Text:Notification展开后的内容
Notification兑现下载进度显示

?

Notification的一般用法

取得NotificationManager

123
1234567891011121314151617181920212223242526272829
自定义View的Notification

同Toast一样,我们也可以自已指定1个View来作为Notification展开后的显示内容,比如说在Android Market中下载的时候,Notification中会显示当前下载的进度,那么我们也来模拟1个这样的效果吧。
首先给出View的定义文件:notification_view_sample.xml

123456789101112131415161718192021222324252627282930313233343536
1234567891011121314151617181920212223242526272829303132

更好的控制Notification

动画图标怎么做?

和selector类似,定义1个XML文件放在drawable下,下面是之前用到的stat_sys_download的定义:

12345678910
自定义提示的声音和振动?
//自定义提示音notification.sound = Uri.parse("file:///sdcard/notification/ringer.mp3");//自定义振动方式long[] vibrate = {0,100,200,300};notification.vibrate = vibrate;

请注意:如果使用了DEFAULT_SOUND或DEFAULT_VIBRATE,则自定义的提示音和振动无效。

在类似于短消息的应用中如何提示数量?

使用Notification的number属性,默认为0,如果是1或更大的数字,则会在图标上覆盖显示这个数字。
notification.number=notificationNumber;

Flag的使用

notification有1个flag属性,除了DEFAULT_SOUND之外,还有几个很有用的属性。
FLAG_AUTO_CANCEL:自动清除Notification,前面的例子中有用到
FLAG_INSISTENT:提示音一直不停,直至用户响应(很吵吧!)
FLAG_ONGOING_EVENT:表示这是1个正在进行的任务,不可以清除,第2个例子中有用到
FLAG_NO_CLEAR:不可以清除

? 2011,?Bing. 版权所有。 所有转载请以链接方式进行。

?

读书人网 >移动开发

热点推荐