Quick Setting Tiles 基礎(chǔ)教程。

參考文檔:

Android 7.0 允許你直接在通知欄添加自定義的圖標(biāo)兵拢。雖然不知道國內(nèi)的系統(tǒng)會(huì)如何處理這個(gè)功能已慢,但是可以先來嘗嘗鮮。

什么是Quick Setting Tile

就是通知欄上的圖標(biāo)递惋,比如 Wifi 開關(guān)柔滔,手電筒開關(guān)等。

什么操作適合使用 Quick Setting Tile

相比于桌面快捷方式萍虽,Widget 等方式睛廊,Setting Tiles 的優(yōu)勢是更方便更快捷,不需要解鎖手機(jī)就能使用杉编。

那么超全,什么樣的操作適合Quick Setting Tile。官方的博客認(rèn)為需要考慮操作的緊急度(Urgency) 和使用率(Frequency)邓馒。
上面說到的兩點(diǎn)中Urgency 的優(yōu)先級(jí)更高嘶朱,因?yàn)?Frequency 因人而異,每一個(gè)用戶都不一樣绒净。

Tilte Service

要?jiǎng)?chuàng)建自定義的 Title见咒,要提供一個(gè)跟圖標(biāo)綁定的 Tile Service。Tile Service 是一種的特殊的 Service挂疆,它的生命周期完全由系統(tǒng)來控制改览。

Title Service 的定義方法跟普通的 Service 沒有區(qū)別,需要在manifest.xml 文件中聲明:

<service    
    android:name=".TestTitleService"
    android:icon="@drawable/ic_add_title"
    android:label="@string/add_title"
    android:permission="android.permission.BIND_QUICK_SETTINGS_TITLE">    
    <intent-filter>        
        <action android:name="android.service.quicksettings.action.QS_TILE"/>      
    </intent-filter>
</service>

icon 是在通知欄顯示的圖標(biāo)缤言。需要選一個(gè)前景色為白色宝当,背景色為透明的向量圖標(biāo),最好是一個(gè)有意義的圖標(biāo)胆萧。
label 是圖標(biāo)的標(biāo)題庆揩,不應(yīng)該超過18個(gè)字符。

permission 和 action 標(biāo)識(shí)出這個(gè) Service 是一個(gè) Title Service跌穗。

Title Service 的生命周期

Title Service 是一個(gè)Bound Service. 所以她的生命周期完全是由 Android 系統(tǒng)控制的订晌。
Tile Service 的主要生命周期有:

  • onTileAdded() 當(dāng)用戶將圖標(biāo)添加到通知欄的時(shí)候調(diào)用。
  • onStartListening() 當(dāng)圖標(biāo)變得可見的時(shí)候調(diào)用蚌吸。
  • onStopListening() 當(dāng)圖標(biāo)變得不可見的時(shí)候調(diào)用锈拨。
  • onTileRemoved() 當(dāng)用戶將圖標(biāo)移除的時(shí)候調(diào)用。
    可以根據(jù)需求去使用這四個(gè)函數(shù)羹唠。注意 Tile Service 在onStopListening()之后就會(huì)結(jié)束了奕枢。不要假定在 start 到 stop 之外 service 還能存活。

處理點(diǎn)擊事件

處理 Tile 的點(diǎn)擊事件也很簡單佩微。重寫 TileService 的 onClick 方法就可以了缝彬。
點(diǎn)擊事件中可以打開一個(gè) Dialog 或者 Activity。但是要注意一點(diǎn)哺眯,Tile 可能在鎖屏的情況下被點(diǎn)擊谷浅,這時(shí)是不能彈出 Dialog 的,但是可以打開帶有 FLAG_SHOW_WHEN_LOCKED Flag 的 Activity奶卓。但是這兩種方式其實(shí)都不是特別自然一疯,不推薦使用。

下面是一段 click 的示例代碼, 用戶每次點(diǎn)擊都會(huì)改變圖標(biāo)的狀態(tài)寝杖。

    @Override
    public void onClick() {
        Tile tile = getQsTile(); // 獲取 Tile
        if (tile.getState() == Tile.STATE_ACTIVE) {
            tile.setState(Tile.STATE_INACTIVE);
        } else {
            tile.setState(Tile.STATE_ACTIVE);
        }

        tile.updateTile(); // 更新完后必須調(diào)用 update 才能生效
    }

其他

關(guān)于 QSTile 還有很多相關(guān)的內(nèi)容违施。上面只是一個(gè)基礎(chǔ)的教程。更多的內(nèi)容請閱讀參考文檔瑟幕。

demo

https://github.com/Guaidaodl/Android-Demos/tree/master/QSTile

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末磕蒲,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子只盹,更是在濱河造成了極大的恐慌辣往,老刑警劉巖站削,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡狮崩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門招刹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疯暑,“玉大人幻馁,你說我怎么就攤上這事。” “怎么了德撬?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵隆檀,是天一觀的道長。 經(jīng)常有香客問我坚冀,道長司训,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任喘帚,我火速辦了婚禮,結(jié)果婚禮上咒钟,老公的妹妹穿的比我還像新娘吹由。我一直安慰自己柔逼,他們只是感情好较曼,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著郑气,像睡著了一般萍嬉。 火紅的嫁衣襯著肌膚如雪乌昔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天壤追,我揣著相機(jī)與錄音磕道,去河邊找鬼。 笑死行冰,一個(gè)胖子當(dāng)著我的面吹牛溺蕉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播资柔,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼焙贷,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了贿堰?” 一聲冷哼從身側(cè)響起辙芍,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后故硅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體庶灿,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年吃衅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了往踢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡徘层,死狀恐怖峻呕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情趣效,我是刑警寧澤瘦癌,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站跷敬,受9級(jí)特大地震影響讯私,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜西傀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一斤寇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拥褂,春花似錦娘锁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至尤慰,卻和暖如春馏锡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背伟端。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工杯道, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人责蝠。 一個(gè)月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓党巾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親霜医。 傳聞我的和親對象是個(gè)殘疾皇子齿拂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,756評論 25 707
  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,409評論 2 45
  • Android自定義快速設(shè)置 Customizer Quick Setting 自定義快速設(shè)置 Android N...
    FamilyYuan閱讀 3,108評論 0 5
  • 愿往后的時(shí)光都是嶄新的 去記錄 去尋找 去做夢 愿我們都能成為 自己想成為的人 如果有一天 你一無所有 我還是你最...
    而廢閱讀 178評論 0 0
  • First created on Jan.05.2013. All rights reserved. 站在凱旋門上...
    astrocachet閱讀 223評論 0 0