android应用消息,Android学习笔记(05)——Android应用程序的三种消息提示(通知方式)...

Android有三种消息提示方式,分别是:状态栏通知、对话框通知和吐西(Toast)通知,下面记录这三种不同方式的用法以及区别:

一、状态栏通知(Notification)

通知用于在状态栏显示消息,消息到来时以图标方式表示,如果需要查看消息,可以拖动状态栏到屏幕下方即可查看消息。经典应用:QQ消息等。

实现代码如下:

Button btnNotifi = (Button) findViewById(R.id.btnNotifi);

//通知栏方式

btnNotifi.setOnClickListener(new OnClickListener() {//匿名内部类的方法,OnClickListener是一个接口。新手须知:此时并不是实例化接口

@Override

public void onClick(View v) {

//定义NotificationManager

String ns = Context.NOTIFICATION_SERVICE;

NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);

//定义通知栏展现的内容信息

int icon = R.drawable.ic_launcher;//通知栏消息的图标

CharSequence tickerText = "我的通知栏标题";

long when = System.currentTimeMillis();

Notification notification = new Notification(icon, tickerText, when);

//定义下拉通知栏时要展现的内容信息

Context context = getApplicationContext();

CharSequence contentTitle = "我的通知栏标展开标题";

CharSequence contentText = "我的通知栏展开详细内容";

Intent notificationIntent = new Intent(MainActivity.this, MainActivity.class);

PendingIntent contentIntent = PendingIntent.getActivity(MainActivity.this, 0,

notificationIntent, 0);

notification.setLatestEventInfo(context, contentTitle, contentText,

contentIntent);

//用mNotificationManager的notify方法通知用户生成标题栏消息通知

mNotificationManager.notify(1, notification);

}

});

效果示意图:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

二、对话框通知(Dialog Notification)

当你的应用需要显示一个进度条或需要用户对信息进行确认时,可以使用对话框来完成。对话框形式略显粗鲁,不如下面的吐西方式来的温柔,所以如果不是重要消息而且不需要与用户进行交互,尽量避免使用。经典应用:退出提示确认等。

实现代码如下:

Button btnDialog = (Button) findViewById(R.id.btnDialog);

//对话框方式

btnDialog.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

//LayoutInflater layoutInflater = LayoutInflater.from(MainActivity.this);

//View viewAddEmployee = layoutInflater.inflate(R.layout.addemployee, null);

new AlertDialog.Builder(MainActivity.this)

.setTitle("chuanbo.Wei的对话框通知")

//.setView(View view)可以往里面添加widget

.setCancelable(false) //设置不能通过“后退”按钮关闭对话框

.setMessage("我是一个消息")

.setPositiveButton("知道了",

new DialogInterface.OnClickListener() {

@Override

/**

* 确定按钮的单击事件

*/

public void onClick(DialogInterface dialog, int which) {

}

})

.setNegativeButton("返回",

new DialogInterface.OnClickListener() {

@Override

/**

* 后退按钮的单击事件

*/

public void onClick(DialogInterface dialog, int which) {

dialog.cancel();

}

})

.show();

}

});

效果示意图:

0818b9ca8b590ca3270a3433284dd417.png

三、吐西通知(Tosat)

吐西方式的用户体验更友好,常用语一般的信息提示,如消息发送成功等。

实现代码如下:

Button btnTosat = (Button) findViewById(R.id.btnTosat);

//吐西方式

btnTosat.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

Toast toast;// 吐西对象

// 用吐西的方式提示用户,三个参数分别为:上下文对象、提示消息、时长

toast = Toast.makeText(MainActivity.this, "我只是一个消息",

Toast.LENGTH_SHORT);

// Toast通知可以改变通知位置.

//toast.setGravity(Gravity.BOTTOM | Gravity.LEFT, 10, 10);

toast.show();

}

});效果示意图:

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值