前言
成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的印臺網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
之前在做一個手機的播放器,需要做到在通知欄顯示控制播放的界面,如下:

這是讓服務(wù)在前臺運行就可以實現(xiàn)的(可以參考我的前一篇文章Service在前臺運行),今天我們就要實現(xiàn)Notification的自定義界面,當(dāng)然就不實現(xiàn)如上圖所示的了,而是下面一個簡單的界面,隨自己的需要搭建自己想要的界面。

可以看到,我實現(xiàn)了一個簡單的界面,包括一個ImageView和Button,下面我就說說該如何實現(xiàn)它,其實很簡單。
實現(xiàn)
首先我們要準備一個界面文件:
notification.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:background="#333300" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:paddingLeft="20dp" android:layout_width="70dp" android:layout_height="50dp" android:src="@drawable/ic_qiuda" /> <Button android:layout_marginLeft="30dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="點擊我" /> </LinearLayout>
然后新建一個Service的子類,MyService:
public class MyService extends Service {
public static final String TAG = "MyService";
@Override
public void onCreate() {
super.onCreate();
Notification notification = new Notification(R.drawable.ic_launcher,
"JcMan", System.currentTimeMillis());
RemoteViews view = new RemoteViews(getPackageName(),R.layout.notification);
notification.contentView = view;
startForeground(1, notification);
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
可以看到,在onCreate方法里面我們設(shè)置界面的不再是用LayoutInflater來得到界面,而是用RemoteViews來new出來一個界面,構(gòu)造方法傳入的是包名和界面資源的ID即可,然后我們把notification.contentView設(shè)置成我們new出來的自定義界面即可。
小結(jié)
普通的Notification可以用來進行通知,但是當(dāng)有特殊需要的時候,我們就需要自定義界面,而且有時候還需要對自定義的界面添加點擊的方法,如在上圖的界面里面有一個Button如何對Button的點擊事件進行響應(yīng),這是一個比較難的問題,因為這不是簡單的setOnClickListener就可以的,需要另外的實現(xiàn),需要用到廣播機制,我將會在下一篇文章中說明如何為Notification的自定義界面添加點擊事件。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
當(dāng)前名稱:Notification自定義界面
標題來源:http://www.chinadenli.net/article44/pgcche.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、響應(yīng)式網(wǎng)站、微信公眾號、搜索引擎優(yōu)化、網(wǎng)站改版、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)