(点击
上方公众号
,可快速关注)
来源:伯乐在线专栏作者 - 王亟亟
链接: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"