专栏名称: 安卓开发精选
伯乐在线旗下账号,分享安卓应用相关内容,包括:安卓应用开发、设计和动态等。
目录
相关文章推荐
开发者全社区  ·  97岁李嘉诚 ·  昨天  
开发者全社区  ·  北京的普普通通有钱人 ·  昨天  
开发者全社区  ·  字节跳动出手:直接辞退353人! ·  2 天前  
开发者全社区  ·  色魔博士抓捕现场 ·  2 天前  
开发者全社区  ·  yc女同学的朋友圈 ·  3 天前  
51好读  ›  专栏  ›  安卓开发精选

Android 7.1 快捷方式 Shortcuts

安卓开发精选  · 公众号  · android  · 2016-11-10 20:45

正文

(点击 上方公众号 ,可快速关注)


来源:伯乐在线专栏作者 - 王亟亟

链接:http://android.jobbole.com/85134/

点击 → 了解如何加入专栏作者


前些天就看到相关内容了,但是最近吸毒比较深(wow),所以没有紧跟潮流,今天补一篇。


先安利:https://github.com/ddwhan0123/Useful-Open-Source-Android [408 star]


看下效果:



肉眼看就是多了一排列表,是一些可点击的按钮,可定制一些常用的方便用户操作的快捷键。


理论知识翻译自官网,有基础好的同学可以直接看:https://developer.android.com/preview/shortcuts.html




啰里八嗦的文本介绍就不提了,说下怎么用合一些规范


他有2种加载方式


1.静态加载

2.动态加载


静态的方式可以兼容低版本,动态的暂时只支持7.1


字面就很好理解,静态的就是事先编辑好展示ui,跳转逻辑等等。

动态就是可以临时调用。




Static Shortcuts


在AndroidManifest.xml文件,首页activity的节点里的下添加


meta - data android : name = "android.app.shortcuts"

android : resource = "@xml/shortcuts" />


shortcuts 其实就是我们静态编辑的内容,类似于预设Menu的概念



加完之后就是编辑shortcuts这个xml了,他要在 res/xml/shortcuts.xml 这个位置


例子中的文件清单如下


shortcuts xmlns : android = "http://schemas.android.com/apk/res/android" >

shortcut

android : shortcutId = "shortcut1"

android : enabled = "true"

android : icon = "@drawable/happy"

android : shortcutShortLabel = "@string/one_text"

android : shortcutLongLabel = "@string/one_long"

android : shortcutDisabledMessage = "@string/one_disabled" >

intent

android : action = "one"

android : targetPackage = "demo.wjj.shortcutsdemo"

android : targetClass = "demo.wjj.shortcutsdemo.MainActivity" />

shortcut >

shortcut

android : shortcutId = "shortcut2"

android : enabled = "false"

android : icon = "@drawable/woman"

android : shortcutShortLabel = "@string/two"

android : shortcutLongLabel = "@string/two_long"

android : shortcutDisabledMessage = "@string/two_disabled" >

intent

android : action = "two"

android : targetPackage = "demo.wjj.shortcutsdemo"

android : targetClass = "demo.wjj.shortcutsdemo.MainActivity" />

shortcut >

shortcut

android : shortcutId = "shortcut3"

android : enabled = "true"

android : icon = "@drawable/angry"

android : shortcutShortLabel = "@string/three"

android : shortcutLongLabel = "@string/three_long"

android : shortcutDisabledMessage = "@string/three_disabled" >

intent

android : action = "three"

android : targetPackage = "demo.wjj.shortcutsdemo"

android : targetClass = "demo.wjj.shortcutsdemo.MainActivity" />

shortcut >

shortcuts >


自行设置包名,类名,icon,描述文字等。


action对应的就是你点完快捷键回到activity时作判断的”key”

例子里第二个”item”没显示出来也就是因为android:enabled设置了false


其他的你只要在业务界面 getIntent().getActiob()就行了,so easy




Dynamic Shortcuts


动态的加载方式就相对麻烦一点,但是代码更活,官方提到的常用方法如下


setDynamicShortcuts ( List ) 重新设置动态快捷方式的列表。

addDynamicShortcuts ( List ) 添加到已存在的快捷方式列表。

updateShortcuts ( List ) 更新列表。

removeDynamicShortcuts ( List ) 移除快捷方式。

removeAllDynamicShortcuts () 移除全部快捷方式。


然后他举了个跳转网页的例子


ShortcutManager shortcutManager = getSystemService ( ShortcutManager . class );

ShortcutInfo shortcut = new ShortcutInfo . Builder ( this , "id1"







请到「今天看啥」查看全文


推荐文章
开发者全社区  ·  97岁李嘉诚
昨天
开发者全社区  ·  北京的普普通通有钱人
昨天
开发者全社区  ·  字节跳动出手:直接辞退353人!
2 天前
开发者全社区  ·  色魔博士抓捕现场
2 天前
开发者全社区  ·  yc女同学的朋友圈
3 天前
同道大叔  ·  男女有别的金牛座
7 年前
加措上师语录  ·  做最好的自己
7 年前