《老罗Android》学习之通知 notification

1. Toast  Notification
实例:
public class MainActivity extends Activity {
private Button button;
private Button button2;
public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	button = (Button) this.findViewById(R.id.button1);
	button.setOnClickListener(new View.OnClickListener() {
	public void onClick(View v) {
	Toast toast = Toast.makeText(MainActivity.this, "提示信息",Toast.LENGTH_LONG);
		toast.setGravity(Gravity.CENTER, 0, 0);
		toast.show();
	}
	});
	button2 = (Button) this.findViewById(R.id.button2);
	button2.setOnClickListener(new View.OnClickListener() {
	public void onClick(View v) {
	Toast toast = new Toast(MainActivity.this);
	// 加载自定义布局
	View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.dialog, null);
		ImageView imageView = (ImageView) view.findViewById(R.id.image);
		imageView.setImageResource(R.drawable.a);
		TextView textView = (TextView) view.findViewById(R.id.text);
		textView.setText("自定义的吐司通知");
		toast.setDuration(Toast.LENGTH_LONG);
		toast.setGravity(Gravity.CENTER, 0, 0);
		// 加载自定义的布局
		toast.setView(view);
		toast.show();
		//统一UI风格,需要自定义的通知,声明在一个类中,可以反复调用

		}
	});
}
}
2. Status Notification
实例:
public class MainActivity extends Activity {
	private Button button;
	private NotificationManager manager;
	private Notification.Builder builder;
	private Button button2;
	public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	button = (Button) this.findViewById(R.id.button1);
	button2 = (Button) this.findViewById(R.id.button2);
	manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);// 创建一个通知的管理类
	builder = new Notification.Builder(this);
	button.setOnClickListener(new View.OnClickListener() {
		public void onClick(View v) {
		Intent intent = new Intent(MainActivity.this,MainActivity.class);
		PendingIntent contentIntent = PendingIntent.getActivity(
				MainActivity.this, 0, intent, 0);
		builder.setContentIntent(contentIntent);
		builder.setContentTitle("new notification is coming");
		builder.setContentText("hellow world");
		builder.setTicker("有通知来了");// 第一次出现在状态栏的内容
		builder.setSmallIcon(R.drawable.notification);
		// Notification.DEFAULT_ALL 所有的提示都是默认的
		// DEFAULT_LIGHTS 默认的闪光
		// DEFAULT_SOUND 默认的铃声
		// DEFAULT_VIBRATE 默认的震动 <uses-permission
		// android:name="android.permission.VIBRATE"/>
		// builder.setDefaults(Notification.DEFAULT_ALL);
		// Uri uri = Uri.parse("file:///mnt/sdcard/XXX.mp3");
		// builder.setSound(uri);//提示用户可以自定义设置铃声
		Notification notification = builder.build();// 仅仅限于在高版本4.1中使用
		// notification.defaults=Notification.DEFAULT_SOUND;在低版本中使用的
		manager.notify(1000, notification);
		}
	});
	button2.setOnClickListener(new View.OnClickListener() {
		public void onClick(View v) {
		RemoteViews contentViews = new RemoteViews(getPackageName(),
				R.layout.custom_notification);
		contentViews.setImageViewResource(R.id.image,
				R.drawable.notification);
		contentViews.setTextViewText(R.id.title, "自定义通知的标题");
		contentViews.setTextViewText(R.id.text, "自定义通知的内容");
		Intent intent = new Intent(MainActivity.this,MainActivity.class);
		PendingIntent pendingIntent = PendingIntent.getActivity(
				MainActivity.this, 0, intent, 0);
		builder.setContentIntent(pendingIntent);
		builder.setContent(contentViews);// 指定自定义布局
		Notification notification = builder.build();
		manager.notify(1001, notification);
		}
	});
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值