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

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


        

Android 摇骰子 动画 安卓摇骰子插件_扩展

    


下拉设定(官方图)


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

  • 首先,我们要知道 “快捷下拉设定” 这个功能 也就是 'Tile' 属于一个服务,我们要实现相应的功能的话,我们就要使一个类来继承 TileService。

摇骰子的功能,通过这个功能,希望大家能够更清晰的明白TileService的用法。

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



Android 摇骰子 动画 安卓摇骰子插件_Android 摇骰子 动画_02

在快速设定里我们已经加上了骰子(图)


  • 再点击骰子的图标的话 我们就会变化成其它的点数


Android 摇骰子 动画 安卓摇骰子插件_Android 摇骰子 动画_03




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

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();
 }
}
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 均为骰子的点数 可以替换成别的图标。比如:


Android 摇骰子 动画 安卓摇骰子插件_扩展_04



大图是什么? 如下:



Android 摇骰子 动画 安卓摇骰子插件_新特性_05




  • 另外,大家不要忘记在清单文件里面注册我们的服务
<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的简单用法。

如果大家有更好的体验,欢迎留言交流。