91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

闵行区| 九台市| 花莲市| 哈尔滨市| 都匀市| 五常市| 宝清县| 读书| 来宾市| 信阳市| 大港区| 岳池县| 七台河市| 洛浦县| 台山市| 台中县| 封丘县| 贵定县| 时尚| 鄂伦春自治旗| 克拉玛依市| 公安县| 富平县| 汉沽区| 行唐县| 东乡族自治县| 德保县| 平果县| 彝良县| 都江堰市| 常熟市| 天镇县| 昌黎县| 乐业县| 东至县| 长海县| 贞丰县| 沈丘县| 松桃| 旌德县| 白朗县|