編輯:關於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了。
前言前面在介紹控件TabLayout控件和CoordinatorLayout使用的時候說了下實現京東、天貓詳情頁面的效果,今天要說的是優化版,是我們線上實現的效果,首先看
一.兄弟Layout_height為fill_parent本來准備編寫一款簡單的計算器,來學習android,遇到了多個兄弟Layout區域按照一個比例大小來顯示的技術問
1、效果圖: 2、核心代碼: height) reflectionHeight = height; // 創建倒影圖片(
1.ContentProvider簡介 在Android中有些數據(如通訊錄、音頻、視頻文件等)是要供很多應用程序使用的,為了更好地對外提供