最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Notification自定義界面

 更新時間:2017年11月30日 08:46:41   作者:潘建成  
這篇文章主要為大家詳細介紹了Notification自定義界面的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

前言

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

這里寫圖片描述

這是讓服務在前臺運行就可以實現(xiàn)的(可以參考我的前一篇文章Service在前臺運行),今天我們就要實現(xiàn)Notification的自定義界面,當然就不實現(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方法里面我們設置界面的不再是用LayoutInflater來得到界面,而是用RemoteViews來new出來一個界面,構(gòu)造方法傳入的是包名和界面資源的ID即可,然后我們把notification.contentView設置成我們new出來的自定義界面即可。

小結(jié)

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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Android使用MediaPlayer和TextureView實現(xiàn)視頻無縫切換

    Android使用MediaPlayer和TextureView實現(xiàn)視頻無縫切換

    這篇文章主要為大家詳細介紹了Android使用MediaPlayer和TextureView實現(xiàn)視頻無縫切換,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Android音樂播放器簡單實現(xiàn)案例

    Android音樂播放器簡單實現(xiàn)案例

    我們平時長時間打代碼的時候肯定會感到疲憊和乏味,這個時候一邊播放自己喜歡的音樂,一邊繼續(xù)打代碼,心情自然也愉快很多。音樂帶給人的聽覺享受是無可比擬的,動聽的音樂可以愉悅?cè)说纳硇模屓烁臃e極地去熱愛生活,這篇文章主要介紹了Android音樂播放器簡單實現(xiàn)案例
    2022-12-12
  • Android?OpenCV基礎API清晰度亮度識別檢測

    Android?OpenCV基礎API清晰度亮度識別檢測

    這篇文章主要為大家介紹了Android?OpenCV基礎API清晰度亮度識別檢測,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Android滑動刪除數(shù)據(jù)功能的實現(xiàn)代碼

    Android滑動刪除數(shù)據(jù)功能的實現(xiàn)代碼

    這篇文章主要介紹了Android滑動刪除功能
    2017-01-01
  • Android 自定義輸入支付密碼的軟鍵盤實例代碼

    Android 自定義輸入支付密碼的軟鍵盤實例代碼

    這篇文章主要介紹了Android 自定義輸入支付密碼的軟鍵盤實例代碼的相關資料,并附簡單實例代碼和實現(xiàn)效果圖,需要的朋友可以參考下
    2016-11-11
  • Flutter?將Dio請求轉(zhuǎn)發(fā)原生網(wǎng)絡庫的實現(xiàn)方案

    Flutter?將Dio請求轉(zhuǎn)發(fā)原生網(wǎng)絡庫的實現(xiàn)方案

    這篇文章主要介紹了Flutter?將Dio請求轉(zhuǎn)發(fā)原生網(wǎng)絡庫,需要注意添加NativeNetInterceptor,如果有多個攔截器,例如LogInterceptors等等,需要將NativeNetInterceptor放到最后,需要的朋友可以參考下
    2022-05-05
  • Android搜索框SearchView屬性和用法詳解

    Android搜索框SearchView屬性和用法詳解

    這篇文章主要為大家詳細介紹了Android搜索框SearchView屬性和用法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Android實現(xiàn)原生側(cè)滑菜單的超簡單方式

    Android實現(xiàn)原生側(cè)滑菜單的超簡單方式

    網(wǎng)上關于Android實現(xiàn)側(cè)滑菜單的文章有很多,可是我們這篇文章是給大家分享一種超簡單的方式,對大家開發(fā)Android具有一定的參考借鑒價值,有需要的朋友們可以一起來看看。
    2016-09-09
  • Android指紋登錄工具類封裝

    Android指紋登錄工具類封裝

    這篇文章主要為大家詳細介紹了Android指紋登錄工具類的封裝,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • Android中activity的啟動模式

    Android中activity的啟動模式

    本文主要介紹了Android中activity的啟動模式。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02

最新評論

渭南市| 林芝县| 南川市| 江阴市| 怀集县| 昌图县| 孟津县| 冀州市| 锦屏县| 南京市| 高要市| 越西县| 荥经县| 昭通市| 安新县| 绥中县| 江阴市| 金坛市| 延津县| 佛学| 慈溪市| 新巴尔虎右旗| 凯里市| 宾阳县| 合川市| 平乡县| 定陶县| 汝阳县| 乌拉特前旗| 吉林省| 沐川县| 多伦县| 崇左市| 金门县| 青神县| 永昌县| 临清市| 濮阳县| 庆云县| 增城市| 罗江县|