Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android 實現自定義狀態欄通知(Status Notification)

android 實現自定義狀態欄通知(Status Notification)

編輯:關於Android編程

在android項目的開發中,有時為了實現和用戶更好的交互,在通知欄這一小小的旮旯裡,我們通常需要將內容豐富起來,這個時候我們就需要去實現自定義的通知欄,例如下面360或者網易的樣式:

\

首先我們要了解的是 自定義布局文件支持的控件類型:Notification的自定義布局是RemoteViews,因此,它僅支持FrameLayout、LinearLayout、RelativeLayout三種布局控件,同時支持AnalogClock、Chronometer、Button、ImageButton、ImageView、ProgressBar、TextView、ViewFlipper、ListView、GridView、StackView和AdapterViewFlipper這些UI控件。對於其他不支持的控件,使用時將會拋出ClassNotFoundException異常。<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+zazKscTYztLDx7u50qrBy73itcTKx05vdGlmaWNhdGlvbtans9a1xEludGVudMDg0M2jqLa8ysdQZW5kaW5nSW50ZW50wOC1xMq1wP2jqaGjPC9wPgo8cD7PwsPmvs3Kx77fzOW1xMq1z9bBy6O61NrV4rj2zajWqsC4wO8gztLDx7fF0ru49r34tsjM9TwvcD4KPHA+PHByZSBjbGFzcz0="brush:java;">//Get the notification manager String ns = Context.NOTIFICATION_SERVICE; NotificationManager nm = (NotificationManager)ctx.getSystemService(ns); //Create Notification Object int icon = R.drawable.robot; CharSequence tickerText = "Hello"; long when = System.currentTimeMillis(); Notification notification = new Notification(icon, tickerText, when); //Set ContentView using setLatestEvenInfo Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.google.com")); PendingIntent pi = PendingIntent.getActivity(ctx, 0, intent, 0); // notification.setLatestEventInfo(ctx, "title", "text", pi);// 使用默認的樣式 notification.contentIntent = pi; notification.contentView = new RemoteViews(ctx.getPackageName(),R.layout.noti); //Send notification nm.notify(1, notification);
實現的效果如下圖:(右邊為系統默認的樣式)

\

這只是一個簡單的示例,為了實現我們自己的效果 我們只需要修改布局文件就ok了。


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved