Android中的消息通知-Toast和Notification

2017-09-01  本文已影响0人  baolvlv

        Android中消息通知主要有两种方式,一种是简短的提示信息,此时使用Toast,另一种是主动推送的信息,应使用Notification。

详细代码:Toast  Notification

1.Toast

toast显示消息通知时,先makeText,后show,makeText时,参数为context,显示的文本内容,显示时长

Toast.makeText(MainActivity.this,"显示一个较长的Toast",Toast.LENGTH_LONG).show();

显示时长默认只有两个值,需要设置为这两个一长一短的值

Toast.LENGTH_LONG(3.5秒)和Toast.LENGTH_SHORT(2秒)

可依通过setGravity方法设置Toast的显示位置

//后两个参数为x轴和y轴的偏移量,x轴正值向右偏移,y轴正值为向下偏移

aShortToast.setGravity(Gravity.CENTER,100,-200);

可以通过setView为Toast设置图片,图片会取代之前设置的文本,需要显示多种内容时,自定义layout

Toast imageToast = Toast.makeText(MainActivity.this,"这是一个带有图片的toast",Toast.LENGTH_LONG);

//创建imageView,并设置图片源

ImageView iv =newImageView(MainActivity.this);

iv.setImageResource(R.mipmap.ic_launcher);

//为Toast设置view

imageToast.setView(iv);

2.Notification

notification,通知,即android状态栏顶部的消息推送,

Notification对象必须包含以下内容:

小图标,由setSmallIcon()设置,隐藏时显示在状态栏顶部

标题,由setContentTitle()设置

详细文本,由setContentText()设置

选择包含的内容

Large icon 大图标

Content info 内容信息

通知创建的时间,由setTime()方法设置

创建notification之前,先创建builder,通过builder设置notification的属性,用以创建真正的notification

//创建notification前,需要先创建一个builder,通过builder创建一个真正的notification

NotificationCompat.Builder builder =newNotificationCompat

.Builder(MainActivity.this);

通过builder设置notification的属性,小图标,标题,详细文本必须设置

//通过builder为当前的notification指定属性

builder.setSmallIcon(R.mipmap.ic_launcher);

builder.setContentTitle("你有"+counter+"条新消息!");

builder.setContentText("天空一无所有,为何给我安慰”);

通过builde方法,创建notification

//调用build方法创建notification的真实对象

Notification notification = builder.build();

为了在通知栏栏显示notification,需要通过notificationManager获取系统notification服务,

而后通过manager提示

//获取系统的notification服务,传递给manager用来在通知栏显示

NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

//通过固定的notificationID对当前的notification进行更新,manager进行提示

manager.notify(NOTIFICATION_ID,notification);

上一篇下一篇

猜你喜欢

热点阅读