Android中Notification的用法


在消息通知的时候,我们经常用到两个控件Notification和Toast。特别是重要的和需要长时间显示的信息,用Notification最合适不过了。他可以在顶部显示一个图标以标示有了新的通知,当我们拉下通知栏的时候,可以看到详细的通知内容。

最典型的应用就是未看短信和未接来电的显示,还有QQ微信,我们一看就知道有一个未接来电或者未看短信,收到QQ离线信息。同样,我们也可以自定义一个Notification来定义我们自己的程序想要传达的信息。

Notification我把他分为两种,一种是默认的显示方式,另一种是自定义的。

【一】默认的显示方式:

[1]程序框架结构图如下


[2]布局文件 main.xml 源码如下

[html]
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >  
  7. <TextView      
  8.     android:layout_width="fill_parent"     
  9.     android:layout_height="wrap_content"     
  10.     android:gravity="center"   
  11.     android:textColor="#EEE"   
  12.     android:textStyle="bold"   
  13.     android:textSize="25sp"   
  14.     android:text="NotificationDemo实例" />   
  15. <Button   
  16.     android:id="@+id/btnSend"   
  17.     android:text="send notification"   
  18.     android:layout_width="wrap_content"   
  19.     android:layout_height="wrap_content"   
  20.     android:layout_gravity="center"/>        
  21. </LinearLayout>  
[3] MainActivity.java源码如下:

[html]
  1. package com.andyidea.notification;  
  2.   
  3.   
  4. import android.app.Activity;  
  5. import android.content.Intent;  
  6. import android.os.Bundle;  
  7. import android.view.View;  
  8. import android.widget.Button;  
  9.   
  10. public class MainActivity extends Activity {  
  11.     private Button btnSend;    
  12.       
  13.     //定义BroadcastReceiver的action    
  14.     private static final String NotificationDemo_Action = "com.andyidea.notification.NotificationDemo_Action";    
  15.         
  16.     /** Called when the activity is first created. */    
  17.     @Override    
  18.     public void onCreate(Bundle savedInstanceState) {    
  19.         super.onCreate(savedInstanceState);    
  20.         setContentView(R.layout.main);    
  21.           
  22.         btnSend = (Button)findViewById(R.id.btnSend);  
  23.         btnSend.setOnClickListener(new View.OnClickListener() {    
  24.             @Override    
  25.             public void onClick(View v) {    
  26.                 Intent intent = new Intent();    
  27.                 intent.setAction(NotificationDemo_Action);    
  28.                 sendBroadcast(intent);    
  29.             }    
  30.         });    
  31.     }    
  32.         
  33. }  
[4] 布局文件 secondlayou.xml 源码如下:

[html]
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout  
  3.   xmlns:android="http://schemas.android.com/apk/res/android"  
  4.   android:orientation="vertical"  
  5.   android:layout_width="fill_parent"  
  6.   android:layout_height="fill_parent">  
  7.   <TextView      
  8.     android:layout_width="fill_parent"     
  9.     android:layout_height="wrap_content"     
  10.     android:gravity="center"   
  11.     android:textColor="#EEE"   
  12.     android:textStyle="bold"   
  13.     android:textSize="25sp"   
  14.     android:text="显示通知界面" />   
  15. <Button   
  16.     android:id="@+id/btnCancel"   
  17.     android:text="cancel notification"   
  18.     android:layout_width="wrap_content"   
  19.     android:layout_height="wrap_content"   
  20.     android:layout_gravity="center" />        
  21. </LinearLayout>  
  • 1
  • 2
  • 下一页

相关内容