- 在Android 7.0 版本之后 Google推出了很多新功能庶灿,其中一個便是——
Quick Settings Tile API#####
- 首先我們看看官網是如何讓我們正確'使用'它的:
“快速設置”通常用于直接從通知欄顯示關鍵設置和操作客们,非常簡單仲智。在 Android 7.0 中秫筏,我們已擴展“快速設置”的范圍,使其更加有用更方便油坝。
對于開發(fā)者职辅,Android 7.0 還添加了一個新的 API,從而讓您可以定義自己的“快速設置”圖塊唬滑,使用戶可以輕松訪問您應用中的關鍵控件和操作告唆。
對于急需或頻繁使用的控件和操作,保留“快速設置”圖塊晶密,且不應將其用作啟動應用的快捷方式擒悬。
定義圖塊后,您可以將它們顯示給用戶稻艰,用戶可通過拖放將圖塊添加到“快速設置”懂牧。
好的,聽完Google霸霸講了那么多尊勿,我相信大家一定了解的差不多了僧凤,那么我們下次見畜侦。
咳...開玩笑,那么我們知道了它是干嘛的躯保,接下來我們就該知道如何去使用它了旋膳。
- 首先,我們要知道 “快捷下拉設定” 這個功能 也就是** 'Tile' **屬于一個服務吻氧,我們要實現(xiàn)相應的功能的話溺忧,我們就要使一個類來繼承 TileService。
這里我們讓快速下拉設置 實現(xiàn)一個 搖骰子的功能盯孙,通過這個功能鲁森,希望大家能夠更清晰的明白TileService的用法。
我們先來看看效果 運行的機器版本為安卓7.0振惰。
- 再點擊骰子的圖標的話 我們就會變化成其它的點數(shù)
(我要這功能有何用歌溉!霧)
一般長按這里的圖標 可以打開相應的其它功能,我們這里的小功能只是教會大家一些簡單的TileService的使用
- 首先我們創(chuàng)建一個Android Studio的項目 骑晶,創(chuàng)建一個類 繼承 TileService
public class TileDemoService extends TileService {
@Override
public void onStartListening() {
super.onStartListening();
}
@Override
public void onStopListening() {
super.onStopListening();
}
@Override
public void onClick() {
super.onClick();
}
}```
- 如果有需要還可以重寫其它的方法
@Override
//當用戶從快速設定欄中添加自定義設定的時候調用
public void onTileAdded() {
Log.d(LOG_TAG, "onTileAdded");
}
@Override
//當用戶從快速設定欄中移除的時候調用
public void onTileRemoved() {
Log.d(LOG_TAG, "onTileRemoved");
}```
- 我們主要的功能在onClick方法中實現(xiàn)
@Override
public void onClick() {
int dice[] = {R.drawable.one,R.drawable.two,R.drawable.three,R.drawable.four,R.drawable.five,R.drawable.six};
int index = (int) (Math.random()*dice.length);
int i = dice[index];
icon = Icon.createWithResource(getApplicationContext(), i);
getQsTile().setState(Tile.STATE_ACTIVE);// 更改成活躍狀態(tài)
getQsTile().setIcon(icon);//設置圖標
getQsTile().updateTile();//更新Tile
}```
>注:所引用的R.drawable.X 均為骰子的點數(shù) 可以替換成別的圖標痛垛。比如:
![](http://upload-images.jianshu.io/upload_images/5306213-24db3b3b25fbf1f3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
>大圖是什么? 如下:
![](http://upload-images.jianshu.io/upload_images/5306213-684db2beb25101ea.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/5306213-bae0e0b5a56460a3.jpeg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
- 另外桶蛔,大家不要忘記在清單文件里面注冊我們的服務
<service android:name=".TileDemoService"
android:label="Honey"
android:icon="@android:drawable/ic_dialog_map"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE"/>
</intent-filter>
</service>```
- 以上就是關于TileService的簡單用法匙头。
如果大家有更好的體驗,歡迎留言交流仔雷。
也歡迎大家加入群里面交流 8408148
如有不如蹂析,望大家多多指教。