中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Notification自定義界面

發布時間:2020-09-15 03:18:06 來源:腳本之家 閱讀:225 作者:潘建成 欄目:移動開發

前言

之前在做一個手機的播放器,需要做到在通知欄顯示控制播放的界面,如下:

Notification自定義界面

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

Notification自定義界面

可以看到,我實現了一個簡單的界面,包括一個ImageView和Button,下面我就說說該如何實現它,其實很簡單。

實現

首先我們要準備一個界面文件:

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方法里面我們設置界面的不再是用LayoutInflater來得到界面,而是用RemoteViews來new出來一個界面,構造方法傳入的是包名和界面資源的ID即可,然后我們把notification.contentView設置成我們new出來的自定義界面即可。

小結

普通的Notification可以用來進行通知,但是當有特殊需要的時候,我們就需要自定義界面,而且有時候還需要對自定義的界面添加點擊的方法,如在上圖的界面里面有一個Button如何對Button的點擊事件進行響應,這是一個比較難的問題,因為這不是簡單的setOnClickListener就可以的,需要另外的實現,需要用到廣播機制,我將會在下一篇文章中說明如何為Notification的自定義界面添加點擊事件。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昔阳县| 武宁县| 淮阳县| 承德县| 彰化县| 安乡县| 大余县| 永年县| 阿克陶县| 舟山市| 寿阳县| 丹巴县| 文昌市| 大庆市| 岳阳县| 盈江县| 榆社县| 长汀县| 黔江区| 黑水县| 阳高县| 临沭县| 邵阳县| 碌曲县| 工布江达县| 龙山县| 临桂县| 偃师市| 珠海市| 从化市| 靖宇县| 托克逊县| 都兰县| 桂林市| 于都县| 台南市| 德保县| 巴林左旗| 陈巴尔虎旗| 荃湾区| 闽侯县|