Android 告诉栏Notification的结合全部学习-Android-优质IT资源分享社区

admin
管理员
管理员
  • UID1
  • 粉丝26
  • 关注4
  • 发帖数581
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:186回复:0

  Android 告诉栏Notification的结合全部学习

楼主#
更多 发布于:2016-05-19 16:03


在Android的运用层中,触及到很多运用结构,例如:Service结构,Activity管理机制,Broadcast机制,对话框结构,标题栏结构,状况栏结构,告诉机制,ActionBar结构等等。


下面就来说说常常会运用到告诉机制中的告诉栏结构(Notificaiton),它适用于交互事情的告诉。它是坐落顶层能够翻开的告诉列表。它会时不时的提示你啥软件该更新了,啥人发你微信音讯了等。

Notificaiton状况告诉栏:



功用作用










1. 显现接收到短音讯、即便音讯等信息 (如QQ、微信、新浪、短信)
2. 显现客户端的推送音讯(如有新版别发布,广告,引荐新闻等)
3. 显现正在进行的事物(例如:后台运转的程序)(如音乐播映器、版别更新时分的下载进展等)



思想导图结构










思想导图的大体结构(依照各个节点延伸拓宽学习)


Notificaiton — service   – BroadcastReceiver  – Intent(flag、Action等特点运用) —  PendingIntent


慨叹:


一个Notificaiton告诉的拓宽运用就要触及与4大组成的配合,所以学好全体的常识体系。


联络:


1. 因为service 是在后台运转,所以它目的做啥咱们看不到,能够经过Notificaiton 来显现提示(如音乐的后台播映)。


2. service效劳和BroadcastReceiver播送相结合,在加上Notificaiton 显现(如程序的后台更新)。


3. Intent作为目的处理,和Notificaiton的点击时刻严密结合在了一起,而且与BroadcastReceiver和service的联络也严密不能够切割。


(service 在后台今后经过BroadcastReceiver来告诉Notificaiton 显现有关东西,在经过Intent完结用户的目的操作)


有关文档:Activity启动模式 及 Intent Flags 与 栈 的有关剖析



对应的官方连接










规划文档 :


官方:http://developer.android.com/design/patterns/notifications.html


译文:http://adchs.github.io/patterns/notifications.html


运用教程 :http://developer.android.com/training/notify-user/index.html


开发文档 :http://developer.android.com/reference/android/app/Notification.html



大体了解










Notification支撑文字内容显现、轰动三色灯铃声等多种提示办法,在默许情况下,Notification仅显现音讯标题音讯内容送达时刻这3项内容。以下即是告诉的根本规划。


告诉的根本规划





通常视图:


高度64dp


大企图的告诉在翻开前也显现为通常视图





元素:


1. 标题   Title/Name


2. 大图标  Icon/Photo


3. 内容文字


4. 内容信息   MESSAGE


5. 小图标 Secondary Icon


6. 告诉的时刻 Timestamp,默许为体系发出告诉的时刻,也可经过setWhen()来设置



有关剖析










状况告诉栏首要触及到2个类:  Notification 和 NotificationManager


Notification为告诉信息类,它里边对应了告诉栏的各个特点


NotificationManager :  是状况栏告诉的管理类,担任发告诉、铲除告诉等操作。


留意:NotificationManager 是一个体系Service,所以有必要经过getSystemService(NOTIFICATION_SERVICE)办法来获取,办法如下。










NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);





运用过程:










流程模块:


第一步:创立一个告诉栏的Builder结构类  (Create a Notification Builder)


第二步:界说告诉栏的Action  (Define the Notification’s Action)


第三步:设置告诉栏点击事情    (Set the Notification’s Click Behavior)


第四步:告诉   (Issue the Notification)



代码模块:










完成体系默许的告诉栏作用:


第一步:获取状况告诉栏管理:










NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);




第二步:实例化告诉栏结构器NotificationCompat.Builder:










NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);




第三步:对Builder进行配置:










mBuilder.setContentTitle("测验标题")//设置告诉栏标题
.setContentText("测验内容") //设置告诉栏显现内容
.setContentIntent(getDefalutIntent(Notification.FLAG_AUTO_CANCEL)) //设置告诉栏点击目的
//  .setNumber(number) //设置告诉调集的数量
.setTicker("测验告诉来啦") //告诉初次出如今告诉栏,带上升动画作用的
.setWhen(System.currentTimeMillis())//告诉发生的时刻,会在告诉信息里显现,通常是体系获取到的时刻
.setPriority(Notification.PRIORITY_DEFAULT) //设置该告诉优先级
//  .setAutoCancel(true)//设置这个象征当用户单击面板就能够让告诉将主动撤销
.setOngoing(false)//ture,设置他为一个正在进行的告诉。他们通常是用来表明一个后台任务,用户积极参与(如播映音乐)或以某种办法正在等候,因而占用设备(如一个文件下载,同步操作,主动网络连接)
.setDefaults(Notification.DEFAULT_VIBRATE)//向告诉添加声响、闪灯和振荡作用的最简略、最共同的办法是运用当时的用户默许设置,运用defaults特点,能够组合
//Notification.DEFAULT_ALL  Notification.DEFAULT_SOUND 添加声响 // requires VIBRATE permission
.setSmallIcon(R.drawable.ic_launcher);//设置告诉小ICON




对应的各个办法的特点(有些办法以上代码中现已作注释,就不再介绍):



(1)办法:设置提示象征符Flags










功用:提示象征符,向告诉添加声响、闪灯和振荡作用等设置到达告诉提示作用,能够组合多个特点
有2种设置办法:
1.实例化告诉栏今后经过给他添加.flags特点赋值。










Notification notification = mBuilder.build();
notification.flags = Notification.FLAG_AUTO_CANCEL;




2.经过setContentIntent(PendingIntent intent)办法中的目的设置对应的flags










public PendingIntent getDefalutIntent(int flags){
PendingIntent pendingIntent= PendingIntent.getActivity(this, 1, new Intent(), flags);
return pendingIntent;
}




提示象征符成员:










Notification.FLAG_SHOW_LIGHTS              //三色灯提示,在运用三色灯提示时分有必要加该象征符
Notification.FLAG_ONGOING_EVENT          //主张正在运转事情(活动中)
Notification.FLAG_INSISTENT   //让声响、振荡无限循环,直到用户呼应 (撤销或许翻开)
Notification.FLAG_ONLY_ALERT_ONCE  //主张Notification后,铃声和轰动均只履行一次
Notification.FLAG_AUTO_CANCEL      //用户单击告诉后主动不见
Notification.FLAG_NO_CLEAR          //只要悉数铲除时,Notification才会铲除 ,不清楚该告诉(QQ的告诉无法铲除,即是用的这个)
Notification.FLAG_FOREGROUND_SERVICE    //表明正在运转的效劳





(2)办法:.setDefaults(int defaults)     (NotificationCompat.Builder中的办法,用于提示)










功用:向告诉添加声响、闪灯和振荡作用的最简略、运用默许(defaults)特点,能够组合多个特点(和办法1中提示作用相同的)
对应特点:










Notification.DEFAULT_VIBRATE    //添加默许轰动提示  需求 VIBRATE permission
Notification.DEFAULT_SOUND    // 添加默许声响提示
Notification.DEFAULT_LIGHTS// 添加默许三色灯提示
Notification.DEFAULT_ALL// 添加默许以上3种悉数提示





(3)办法:setVibrate(long[] pattern)










功用:设置轰动办法。
运用:










.setVibrate(new long[] {0,300,500,700});




完成作用:推迟0ms,然后振荡300ms,在推迟500ms,接着在振荡700ms。


以上办法的还有种写法是










mBuilder.build().vibrate = new long[] {0,300,500,700};




以此类推,2种写法都能够。


假如期望设置默许振荡办法,设置了办法(2)中默许为DEFAULT_VIBRATE 即可。



(4)办法:.setLights(intledARGB ,intledOnMS ,intledOffMS )










功用:android支撑三色灯提示,这个办法即是设置不相同场景下的不相同色彩的灯。
描绘:其间ledARGB 表明灯火色彩、 ledOnMS 亮继续时刻、ledOffMS 暗的时刻。
留意:


1)只要在设置了象征符Flags为Notification.FLAG_SHOW_LIGHTS的时分,才支撑三色灯提示。
2)这边的色彩跟设备有关,不是一切的色彩都能够,要看具体设备。
运用:










.setLights(0xff0000ff, 300, 0)




同理,以下办法也能够设置同样作用:










Notification notify = mBuilder.build();
notify.flags = Notification.FLAG_SHOW_LIGHTS;
notify.ledARGB = 0xff0000ff;
notify.ledOnMS = 300;
notify.ledOffMS = 300;







假如期望运用默许的三色灯提示,设置了办法(2)中默许为DEFAULT_LIGHTS即可。



(5)办法:.setSound(Uri sound)










功用:设置默许或则自界说的铃声,来提示。










//获取默许铃声
.setDefaults(Notification.DEFAULT_SOUND)
//获取自界说铃声
.setSound(Uri.parse("file:///sdcard/xx/xx.mp3"))
//获取Android多媒体库内的铃声
.setSound(Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "5"))




同理相同作用的另一种设置办法这边就不讲, 和上面的都是相同的。



(6)办法:.setPriority(int pri)










功用:设置优先级
对应优先级描绘如下图:

[table][tr][/tr][/table]

[table][tr][/tr][/table]

[table][tr][/tr][/table]

[table][tr][td]优先级[/td][/tr][/table]

[table][tr][td]用户[/td][/tr][/table]



[table][tr][/tr][/table]

[table][tr][td]MAX[/td][/tr][/table]

[table][tr][td]首要而紧迫的告诉,告诉用户这个事情是时刻上紧迫的或许需求立即处理的。[/td][/tr][/table]



[table][tr][/tr][/table]

[table][tr][td]HIGH[/td][/tr][/table]

[table][tr][td]高优先级用于首要的通讯内容,例如短音讯或许谈天,这些都是对用户来说对比有爱好的。[/td][/tr][/table]



[table][tr][/tr][/table]

[table][tr][td]DEFAULT[/td][/tr][/table]

[table][tr][td]默许优先级用于没有特别优先级分类的告诉。[/td][/tr][/table]



[table][tr][/tr][/table]

LOW


低优先级能够告诉用户但又不是很紧迫的事情。






MIN


用于后台音讯 (例如天气或许方位信息)。最低优先级告诉将只在状况栏显现图标,只要用户下拉告诉抽屉才干看到内容。










对应特点(作用看上图就可知道):










Notification.PRIORITY_DEFAULT
Notification.PRIORITY_HIGH
Notification.PRIORITY_LOW
Notification.PRIORITY_MAX
Notification.PRIORITY_MIN





(7)办法:setOngoing(boolean ongoing)










功用:设置为ture,表明它为一个正在进行的告诉。他们通常是用来表明一个后台任务,用户积极参与(如播映音乐)或以某种办法正在等候,因而占用设备(如一个文件下载,同步操作,主动网络连接)



(8)办法:setProgress(int max, int progress,boolean indeterminate)










特点:max:进展条最大数值  、progress:当时进展、indeterminate:表明进展是不是不确定,true为不确定,如下第3幅图所示  ,false为确定下第1幅图所示
功用:设置带进展条的告诉,能够在下载中运用
作用图如下:
     


留意:此办法在4.0及今后版别才有用,假如为前期版别:需求自界说告诉规划,其间包括ProgressBar视图
运用:假如为确定的进展条:调用setProgress(max, progress, false)来设置告诉,在更新进展的时分在此主张告诉更新progress,而且在下载完结后要移除进展条,经过调用setProgress(0, 0, false)既可。
假如为不确定(继续活动)的进展条,这是在处理进展无法精确获悉时显现活动正在继续,所以调用setProgress(0, 0, true),操作结束时,调用setProgress(0, 0, false)并更新告诉以移除指示条
第四步:设置告诉栏PendingIntent(点击动作事情等都包括在这儿)
在第三步中,没有提到一个办法,即是setContentIntent(PendingIntent intent)这个办法,这儿拿到这儿讲。


常识点



1)啥是PendingIntent










PendingIntent和Intent略有不相同,它能够设置履行次数,首要用于长途效劳通讯、闹铃、告诉、启动器、短信中,在通常情况下用的对比少。



2)PendingIntent啥用










Notification支撑多种Intent来呼应单击事情、消除事情、处理紧迫状况的全屏事情等。
这儿就用到了setContentIntent(PendingIntent intent)来处理以上这么多的事情。



3)有关特点和办法










特点:
PendingIntent的位标识符:
FLAG_ONE_SHOT   表明回来的PendingIntent仅能履行一次,履行完后主动撤销
FLAG_NO_CREATE     表明假如描绘的PendingIntent不存在,并不创立相应的PendingIntent,而是回来NULL
FLAG_CANCEL_CURRENT      表明相应的PendingIntent现已存在,则撤销前者,然后创立新的PendingIntent,这个有利于数据坚持为最新的,能够用于即时通讯的通讯场景
FLAG_UPDATE_CURRENT     表明更新的PendingIntent
办法:
能够看出,它支撑多种相应办法,有Activity、Broadcast、Service,就依据你本身需求去挑选。
在各种情况下情况下它还会依据各种情况动身作用:
contentIntent:在告诉窗口区域,Notification被单击时的呼应事情由该intent触发;
deleteIntent:当用户点击悉数铲除按钮时,呼应该铲除事情的Intent;
fullScreenIntent:呼应紧迫状况的全屏事情(例如来电事情),也即是说告诉来的时分,越过在告诉区域点击告诉这一步,直接履行fullScreenIntent代表的事情。
例如:在履行了点击告诉今后要跳转到指定的XXX的Activity的时分,能够设置以下办法来相应点击事情:










Intent intent = new Intent(context,XXX.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
mBuilder.setContentIntent(pendingIntent)




例如:在履行了清空悉数的告诉操作时分,能够设置以下办法来相应这个事情:
选用setDeleteIntent(PendingIntent intent)办法或依照以下写法










Intent deleteIntent = new Intent();
deleteIntent.setClass(context, XXXReceiver.class);
deleteIntent.setAction(DELETE_ACTION);
notification.deleteIntent = PendingIntent.getBroadcast(context, 0, deleteIntent, 0);




例如:在呼应紧迫事情(如来电)时分,能够设置以下办法来相应这个事情:
选用setFullScreenIntent(PendingIntent intent, boolean highPriority)
第五步,最简略的一部,发送告诉请求










mNotificationManager.notify(notifyId, mBuilder.build());






拓宽

完成自界说的告诉栏作用:

这儿要用到RemoteViews这个类。完成以下2种自界说规划。

留意:

Notification的自界说规划是RemoteViews,和别的RemoteViews相同,在自界说视图规划文件中,仅支撑FrameLayout、LinearLayout、RelativeLayout三种规划控件和AnalogClock、Chronometer、Button、ImageButton、ImageView、ProgressBar、TextView、ViewFlipper、ListView、GridView、StackView和AdapterViewFlipper这些显现控件,不支撑这些类的子类或Android供给的别的控件。不然会引起ClassNotFoundException反常过程如下:

1)创立自界说视图
2)获取长途视图目标(注:Notification的contentView不能为空)3)设置PendingIntent(来呼应各种事情)
4)主张Notification大体4过程这儿就不具体说了,下面就把DEMO中的列子拿出来说下

款式:
1.自界说带按钮告诉栏(如下款式)

正在进行的“正在进行的”告诉运用户了解正在运转的后台进程。例如,音乐播映器能够显现正在播映的音乐。也能够用来显现需求长时刻处理的操作,例如下载或编码视频。“正在进行的”告诉不能被手动删去。

完成办法如下:









public void showButtonNotify(){
NotificationCompat.Builder mBuilder = new Builder(this);RemoteViews mRemoteViews = new RemoteViews(getPackageName(), R.layout.view_custom_button);
mRemoteViews.setImageViewResource(R.id.custom_song_icon, R.drawable.sing_icon);//API3.0 以上的时分显现按钮,不然不见
mRemoteViews.setTextViewText(R.id.tv_custom_song_singer, "周杰伦");mRemoteViews.setTextViewText(R.id.tv_custom_song_name, "七里香");
//假如版别号低于(3。0),那么不显现按钮if(BaseTools.getSystemVersion() <= 9){
mRemoteViews.setViewVisibility(R.id.ll_custom_button, View.GONE);}else{
mRemoteViews.setViewVisibility(R.id.ll_custom_button, View.VISIBLE);}
//if(isPlay){
mRemoteViews.setImageViewResource(R.id.btn_custom_play, R.drawable.btn_pause);}else{
mRemoteViews.setImageViewResource(R.id.btn_custom_play, R.drawable.btn_play);}
//点击的事情处理Intent buttonIntent = new Intent(ACTION_BUTTON);
/* 上一首按钮 */buttonIntent.putExtra(INTENT_BUTTONID_TAG, BUTTON_PREV_ID);
//这儿加了播送,所及INTENT的有必要用getBroadcast办法PendingIntent intent_prev = PendingIntent.getBroadcast(this, 1, buttonIntent, PendingIntent.FLAG_UPDATE_CURRENT);
mRemoteViews.setOnClickPendingIntent(R.id.btn_custom_prev, intent_prev);/* 播映/暂停  按钮 */
buttonIntent.putExtra(INTENT_BUTTONID_TAG, BUTTON_PALY_ID);PendingIntent intent_paly = PendingIntent.getBroadcast(this, 2, buttonIntent, PendingIntent.FLAG_UPDATE_CURRENT);
mRemoteViews.setOnClickPendingIntent(R.id.btn_custom_play, intent_paly);/* 下一首 按钮  */
buttonIntent.putExtra(INTENT_BUTTONID_TAG, BUTTON_NEXT_ID);PendingIntent intent_next = PendingIntent.getBroadcast(this, 3, buttonIntent, PendingIntent.FLAG_UPDATE_CURRENT);
mRemoteViews.setOnClickPendingIntent(R.id.btn_custom_next, intent_next);mBuilder.setContent(mRemoteViews)
.setContentIntent(getDefalutIntent(Notification.FLAG_ONGOING_EVENT)).setWhen(System.currentTimeMillis())// 告诉发生的时刻,会在告诉信息里显现
.setTicker("正在播映").setPriority(Notification.PRIORITY_DEFAULT)// 设置该告诉优先级
.setOngoing(true).setSmallIcon(R.drawable.sing_icon);
Notification notify = mBuilder.build();notify.flags = Notification.FLAG_ONGOING_EVENT;
mNotificationManager.notify(notifyId, notify);}



留意:带按钮的规划相应点击事情在3.0以下版别没有用,所以这边作了体系版别判别,来显现不见按钮。


2.自界说不带按钮告诉栏

完成办法如下:









//先设定RemoteViews
RemoteViews view_custom = new RemoteViews(getPackageName(), R.layout.view_custom);//设置对应IMAGEVIEW的ID的资本图像
view_custom.setImageViewResource(R.id.custom_icon, R.drawable.icon);//view_custom.setInt(R.id.custom_icon,"setBackgroundResource",R.drawable.icon);
view_custom.setTextViewText(R.id.tv_custom_title, "今天头条");view_custom.setTextViewText(R.id.tv_custom_content, "金州勇士官方宣告球队现已辞退了主帅马克-杰克逊,随后宣告了最终的成果。");




今后调用:









mBuilder.setContent(view_custom)




来设定自界说的这个规划。

完成:大视图个性告诉(注:4.1之前的版别不支撑大视图)

只在告诉被翻开时显现
何时翻开:告诉处在顶端,或许用户经过拾掇翻开收件箱个性的告诉:
比较通常视图,只多出:7. 概况区域作用图如下:



概况区域依据用途可有多种个性:

1.NotificationCompat.BigPictureStyle 大图像个性:概况区域包括一个256dp高度的位图
2.NotificationCompat.BigTextStyle 大文字个性:显现一个大的文字块3.NotificationCompat.InboxStyle  收件箱个性:显现多行文字
各种个性都具有以下惯例视图不具有的内容选项:1.大标题:在翻开视图时替代通常视图的符号
2.总结文字:允许你在概况区域之下添加一行内容

拿收件箱个性为例,完成代码如下:









NotificationCompat.BigPictureStyle inboxStyle = new NotificationCompat.InboxStyle();
String[] events = new String[5];// Sets a title for the Inbox style big view
inboxStyle.setBigContentTitle("大视图内容:");// Moves events into the big view
for (int i=0; i < events.length; i++) {inboxStyle.addLine(events);
}mBuilder.setContentTitle("测验标题")
.setContentText("测验内容")// .setNumber(number)//显现数量
.setStyle(inboxStyle)//设置个性.setTicker("测验告诉来啦");






开发中碰到的疑问








(注:下面所指的低版别是指2.3及2.3以下版别)


1.怎么撤销掉告诉栏上的告诉








(1)设置对应的flags,让用户点击既被消除:

notification.flags = FLAG_AUTO_CANCEL;

(2) 经过手动消除某项或则悉数告诉

mNotificationMgr.cancle(NOTIFICATION_ID);//消除对应ID的告诉

mNotificationMgr.cancleAll();//消除创立的一切告诉


2.低版别中的有些办法现已被弃用的








(1)Notification.Builder(this).getNotification()

(2)mNotification.setLatestEventInfo(this, “title”, “content”, null);

这些办法都现已被启用,尽管还有作用,但是不主张运用。所以开发过程中尽量运用NotificationCompat.Builder(this)的构建办法去创立一个告诉类。


3.低版别中会报的过错及处理方案:








(1)过错代码:java.lang.IllegalArgumentException: contentIntent required: pkg=com.example.notifications id=100 notification=Notification(vibrate=default,sound=null,defaults=0×2,flags=0×0)处理方案:假如在高版别不会出错,而在2.3上面报了这个过错,经过开发文档中的以下知道你能够找打:
For this reason, you should always ensure that UI controls in a notification are also available in anActivityin your app, and you should always start thatActivitywhen users click the notification. To do this, use thesetContentIntent()method.你就应该知道,缺少了setContentIntent()这个办法,在2.3及更低的版别中,有必要给它设置设置contentIntent,假如你点击没有目的,能够在赋值的的Intent中设置为new Intent()既可,牢记contentIntent不能为空。
代码如下:







public PendingIntent getDefalutIntent(int flags){
PendingIntent pendingIntent= PendingIntent.getActivity(this, 1, new Intent(), flags);return pendingIntent;
}


(2)过错代码:android.app.RemoteServiceException: Bad notification posted from package com.example.notifications: Couldn’t expand RemoteViews for: StatusBarNotification(package=com.example.notifications id=101 tag=null notification=Notification(vibrate=null,sound=null,defaults=0×0,flags=0×2))
处理办法:在自界说的时分,发现了这个疑问,处理:每次更新时都有必要把RemoteViews给new出来才行,不能使用已有的notification.contentView直接操作!



4.低版别中,自界说的告诉栏中假如带有按钮,也许按钮点击事情会失灵








处理办法:看其它的运用,好像在低版别都会躲藏掉那些按钮,即是为了不影响用户体会,所以应该就这么处理,判别版别号在去决定是不是如今按钮。


5.低版别中,自界说规划中的字体色彩看不清








如右图:

处理方案:

因为2.3及之前版别,布景设是白色的那咱们界说字体色彩为体系预设的色彩:

?android:attr/textColorPrimary

在资本的src/values目录中的style.xml文件中设置它标题和内容的款式为:


















在2.3今后的版别中(即API >=9的版别中),在资本文件下的src/values-v9目录中的style.xml文件中设置它标题和内容的款式为:


















最终赋给自界说规划中的对应标题和内容对应的style即可。对应处理网址:
1. http://stackoverflow.com/questions/6250356/how-to-use-default-notification-style2. http://stackoverflow.com/questions/4867338/custom-notification-layouts-and-text-colors/7320604#7320604
3. http://developer.android.com/guide/topics/ui/notifiers/notifications.html#CustomExpandedView   (官方文档)

http://developer.android.com/about/versions/android-2.2-highlights.html

6. 低版别中mBuilder.setProgress(100, progress, false);没用,不显现进展条处理办法:此办法在4.0及今后版别才有用,假如为前期版别:需求自界说告诉规划,其间包括ProgressBar视图
7. 自界说规划的时分,不相同版别办法不相同。(弄了半响,在2.3版别不显现,原来是办法不兼容)2.3及2.3之前:
经过







Notification notify = mBuilder.build();
notify.contentView = view_custom;mNotificationManager.notify(notifyId, notify)



办法赋予VIEW。

2.3今后:

经过Builder以下办法赋于自界说规划。







mBuilder.setContent(view_custom)



这儿就不贴DEMO中的代码了,我们能够下个DEMO自个看,里边也都有注释的,也许有的当地会有过错,忘我们指出,以便及时修正,谢谢。

一个DEMO让你更懂Notification

DEMO截图:

        优质IT资源分享社区为你提供此文。
本站有大量优质android教程视频,资料等资源,包含android基础教程,高级进阶教程等等,教程视频资源涵盖传智播客,极客学院,达内,北大青鸟,猎豹网校等等IT职业培训机构的培训教学视频,价值巨大。欢迎点击下方链接查看。

android教程视频
优质IT资源分享社区(www.itziyuan.top)
一个免费,自由,开放,共享,平等,互助的优质IT资源分享网站。
专注免费分享各大IT培训机构最新培训教学视频,为你的IT学习助力!

!!!回帖受限制请看点击这里!!!
!!!资源失效请在此版块发帖说明!!!

[PS:按 CTRL+D收藏本站网址~]

——“优质IT资源分享社区”管理员专用签名~

本版相似帖子

游客