您的位置:首页 > 移动开发 > Android开发

Android 在通知中显示进度条

2016-07-27 13:31 573 查看
显示进度的核心方法 setProgress() , 正如一般使用中所见,有显示进度百分比的 和 显示正在进行的两种进度条:





显示 fixed-duration Progress indicater(持续时间固定的进度指示器)

使用
setProgress(max, progress, false)
将进度栏添加到通知,然后发出通知,随着操作的继续进行,递增process并更新通知

一般把 max 设置为 100,以百分比的形式递增,完成操作后,可以将进度条栏删除(调用
setProgress(0, 0, false)
),或者保留显示。一定要更新通知文本显示操作已完成

mNotifyManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mBuilder = new NotificationCompat.Builder(this);
mBuilder.setContentTitle("Picture Download")
.setContentText("Download in progress")
.setSmallIcon(R.drawable.ic_notification);
// 新建一个后台线程,来完成进度条的更新
new Thread(
new Runnable() {
@Override
public void run() {
int incr;
// Do the "lengthy" operation 20 times
for (incr = 0; incr <= 100; incr+=5) {
// 设置新的百分比
mBuilder.setProgress(100, incr, false);
// 发送通知
mNotifyManager.notify(0, mBuilder.build());
//暂停几秒
try {
// Sleep for 5 seconds
Thread.sleep(5*1000);
} catch (InterruptedException e) {
Log.d(TAG, "sleep failure");
}
}
// 完成后改变文本状态
mBuilder.setContentText("Download complete")
// 删除进度条
.setProgress(0,0,false);
mNotifyManager.notify(ID, mBuilder.build());
}
}
).start();


显示持续Activity的指示器

使用的
setProgress(0, 0, true)
前两个参数可以忽略,最后一个参数表示这个指示器是不确定的

这样从发布开始,动画会一直进行,直到你发出更新通知
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android