Android N/7.X新特性——在下拉设定里加个摇骰子

  • 在Android 7.0 版本之后 Google推出了很多新功能,其中一个便是——
Quick Settings Tile API#####
  • 首先我们看看官网是如何让我们正确'使用'它的:

“快速设置”通常用于直接从通知栏显示关键设置和操作,非常简单。在 Android 7.0 中,我们已扩展“快速设置”的范围,使其更加有用更方便。
对于开发者,Android 7.0 还添加了一个新的 API,从而让您可以定义自己的“快速设置”图块,使用户可以轻松访问您应用中的关键控件和操作。
对于急需或频繁使用的控件和操作,保留“快速设置”图块,且不应将其用作启动应用的快捷方式。
定义图块后,您可以将它们显示给用户,用户可通过拖放将图块添加到“快速设置”。

Android N/7.X新特性——在下拉设定里加个摇骰子_第1张图片
下拉设定(官方图)

好的,听完Google霸霸讲了那么多,我相信大家一定了解的差不多了,那么我们下次见。
咳...开玩笑,那么我们知道了它是干嘛的,接下来我们就该知道如何去使用它了。


Android N/7.X新特性——在下拉设定里加个摇骰子_第2张图片
  • 首先,我们要知道 “快捷下拉设定” 这个功能 也就是** 'Tile' **属于一个服务,我们要实现相应的功能的话,我们就要使一个类来继承 TileService

这里我们让快速下拉设置 实现一个 摇骰子的功能,通过这个功能,希望大家能够更清晰的明白TileService的用法。

我们先来看看效果 运行的机器版本为安卓7.0。

Android N/7.X新特性——在下拉设定里加个摇骰子_第3张图片
在快速设定里我们已经加上了骰子(图)
  • 再点击骰子的图标的话 我们就会变化成其它的点数
Android N/7.X新特性——在下拉设定里加个摇骰子_第4张图片

(我要这功能有何用!雾)

一般长按这里的图标 可以打开相应的其它功能,我们这里的小功能只是教会大家一些简单的TileService的使用

  • 首先我们创建一个Android Studio的项目 ,创建一个类 继承 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方法中实现
@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);// 更改成活跃状态

            getQsTile().setIcon(icon);//设置图标
            getQsTile().updateTile();//更新Tile
    }```
>注:所引用的R.drawable.X 均为骰子的点数 可以替换成别的图标。比如:


![](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)

- 另外,大家不要忘记在清单文件里面注册我们的服务

android:label="Honey"
android:icon="@android:drawable/ic_dialog_map"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">



```

  • 以上就是关于TileService的简单用法。

如果大家有更好的体验,欢迎留言交流。
也欢迎大家加入群里面交流 8408148
如有不如,望大家多多指教。

你可能感兴趣的:(Android N/7.X新特性——在下拉设定里加个摇骰子)