原文链接:http://blog.csdn.net/yulianlin/article/details/52367246,版权归作者所有
Android7.0新推出了一个非常实用的功能——添加快速设定(或者翻译成快速设置),但是感觉社区里关注的人比较少,可能目前为止国内还没有Android7.0的手机,但是越早接触越好,甚至可以告诉产品经理7.0以上可以实现此功能,从而让公司的产品更加与时俱进。
“快速设置”通常用于直接从通知栏显示关键设置和操作,非常简单。 在Android 7.0以后任何应用都可以在下拉菜单中添加自己的快速设定,从而让程序更加灵活方便。
对于用户来讲:
Google工程师为额外的“快速设置”图块添加了更多空间,用户可以通过向左或向右滑动跨分页的显示区域访问它们。 我们还让用户可以控制显示哪些“快速设置”图块以及显示的位置 — 用户可以通过拖放图块来添加或移动图块。
对于开发者,Android 7.0 还添加了一个新的 API,从而让您可以定义自己的“快速设置”图块,使用户可以轻松访问您应用中的关键控件和操作。
添加快速设定实现方式
我们重点来看看如何实现快速设定。
首先需要创建一个类继承 TileService,这是一个特殊的服务,这个TileService是7.0 SDK新加的,所以务必SDK更新到7.0,这个服务不需要程序开启,系统默认能够识别,并调用,所以在低版本上运行这个程序也不会有问题。
可以实现几个生命周期相关的函数,也可以选择实现
因为这个类本身就是服务, 需要配置在清单文件AndroidManifest.xml中
从上面的声明中,其实已经比较明显,这个Tile要显示的名字,icon等都是在这里声明的,系统UI直接就可以查询到,特别注意这里一定要加上对应的permission才行。
接下来运行程序,就可以在下拉菜单的编辑栏中看到我们的图标,可以拖拽到上面的一栏就会在快速设定中
有了显示,还需要有具体功能,这时候一般都通过设置按钮实现了。
直接上完整代码了:
通过getQsTile() 可以设置State和Icon,State有两种状态——STATE_ACTIVE和STATE_INACTIVE, 无论你传的什么颜色的Icon,STATE_ACTIVE都会把Icon渲染成白色, STATE_INACTIVE都会把Icon渲染成灰色。
效果展示: