亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

冷水江市| 锡林郭勒盟| 桐梓县| 涞源县| 中牟县| 临高县| 大理市| 灵川县| 仙居县| 紫阳县| 白玉县| 鄂伦春自治旗| 五台县| 祁东县| 台东县| 永城市| 佛冈县| 博爱县| 临漳县| 泸州市| 泾源县| 黄山市| 漳浦县| 湛江市| 利津县| 肇源县| 汕尾市| 遵义县| 陕西省| 乐业县| 颍上县| 绥化市| 湄潭县| 木兰县| 安岳县| 内乡县| 茌平县| 乌鲁木齐市| 类乌齐县| 讷河市| 蕲春县|