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);
			}
		});

效果示意图:











二、对话框通知(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();
			}
		});
效果示意图:









三、吐西通知(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();
			}
		});
效果示意图:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值