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

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

作者: 纸团止境 | 来源:发表于2017-03-20 21:41 被阅读0次
    • 在Android 7.0 版本之后 Google推出了很多新功能,其中一个便是——
    Quick Settings Tile API#####
    • 首先我们看看官网是如何让我们正确'使用'它的:

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

    下拉设定(官方图)

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


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

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

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

    在快速设定里我们已经加上了骰子(图)
    • 再点击骰子的图标的话 我们就会变化成其它的点数

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

    一般长按这里的图标 可以打开相应的其它功能,我们这里的小功能只是教会大家一些简单的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 均为骰子的点数 可以替换成别的图标。比如:
    
    
    ![](https://img.haomeiwen.com/i5306213/24db3b3b25fbf1f3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    >大图是什么? 如下:
    
    ![](https://img.haomeiwen.com/i5306213/684db2beb25101ea.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    
    
    ![](https://img.haomeiwen.com/i5306213/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
    如有不如,望大家多多指教。

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/xyiinttx.html