Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1213|回复: 0

Android 深入解析用户界面(十) - Android学习

[复制链接]

该用户从未签到

发表于 2011-10-26 16:43:37 | 显示全部楼层 |阅读模式
       清除通知Clear

  如果需要把Notification清除(clear),则调用NotificationManager。cancel(Notification的 ID),或者直接NotificationManager。clearAll()清除所有。也可以添加Notification对象的 FLAG_AUTO_CANCEL属性来自动清除。

  更新通知Update the notification
  可以通过notification对象的setLatestEventInfo()方法来修改/更新信息,也可以通过其他函数来修改notification对象的属性,最后是调用NotificationManager。notify(原来的ID, 修改/更新后的notification对象)完成的。

java代码:
//修改Title & content



mNotification.setLatestEventInfo(

getApplicationContext(),"Notification update", // Title

"This is the second notification", //content

contentIntent);



//修改Icon

mNotification.icon = R.drawable.robot;



//设置自动清除

mNotification.flags |= Notification.FLAG_AUTO_CANCEL;



//重新发出通知

mNotificationManager.notify(R.id.notice1, mNotification);
复制代码
       自定义view的Notification
       首先定义Layout xml文件(notifylayout.xml):

java代码:
<?xml version="1.0" encoding="utf-8"?>



<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"



android:id="@+id/notify_layout"

androidrientation="horizontal"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:padding="3dp"

>



<ImageView

android:id="@+id/notify_image"

android:layout_width="wrap_content"

android:layout_height="fill_parent"

android:layout_marginRight="10dp"

/>



<TextView

android:id="@+id/notify_text"

android:layout_width="wrap_content"

android:layout_height="fill_parent"

android:textColor="#000"

/>



</LinearLayout>
复制代码
       然后使用RemoteView加载Layout,并设置Image,Text:

java代码:
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.notifylayout);

contentView.setImageViewResource(R.id.notify_image, R.drawable.robot);

contentView.setTextViewText(R.id.notify_text, "Hello, this message is in a custom expanded view");



Notification notification = new Notification(

R.drawable.icon, //icon

"Notification", // 状态栏上显示的提示文字

System.currentTimeMillis());



notification.contentIntent = contentIntent;

notification.contentView = contentView; //就是这里不同,set view



// 以R.layout.notify_layout为ID

mNotificationManager.notify(R.layout.notifylayout, notification);
复制代码
       对话框通知Dialog Notification
       一个对话框通常是出现在当前活动前面的一个小窗口。背后的活动丢失焦点而由这个对话框接受所有的用户交互。对话框通常用做和运行中应用程序直接相关的通知和短暂活动。


系列之Android 深入解析用户界面(一)的帖子链接http://www.eoeandroid.com/thread-103258-1-1.html
系列之Android 深入解析用户界面(二)的帖子链接http://www.eoeandroid.com/thread-103259-1-1.html
系列之Android 深入解析用户界面(三)的帖子链接http://www.eoeandroid.com/thread-103263-1-1.html
系列之Android 深入解析用户界面(四)的帖子链接http://www.eoeandroid.com/thread-103266-1-1.html
系列之Android 深入解析用户界面(五)的帖子链接http://www.eoeandroid.com/thread-103437-1-1.html
系列之Android 深入解析用户界面(六)的帖子链接http://www.eoeandroid.com/thread-103438-1-1.html
系列之Android 深入解析用户界面(七)的帖子链接http://www.eoeandroid.com/thread-103445-1-1.html
系列之Android 深入解析用户界面(八)的帖子链接http://www.eoeandroid.com/thread-103448-1-1.html
系列之Android 深入解析用户界面(九)的帖子链接http://www.eoeandroid.com/thread-105421-1-1.html
系列之Android 深入解析用户界面(十一)的帖子链接http://www.eoeandroid.com/thread-105434-1-1.html
系列之Android 深入解析用户界面(十二)的帖子链接http://www.eoeandroid.com/thread-103461-1-1.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 18:40 , Processed in 0.305233 second(s), 36 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表