Flutter Shortcuts
用于在主屏幕上创建静态和动态应用快捷方式的 Flutter 插件。

为什么使用 Flutter Shortcuts?
Flutter Shortcuts 插件以其
| Flutter Shortcuts |
|---|
| 快速、高效、兼容 |
| 免费且开源 |
| 生产就绪 |
| 使应用程序具有响应性 |
功能
以下列出的所有功能都可以在运行时执行。
✅ 创建 Shortcuts
✅ 清除 Shortcuts
✅ 更新 Shortcuts
✅ 同时使用 flutter 和 android 资源作为快捷方式图标
演示

快速入门
步骤 1:将插件包含到您的项目中
dependencies:
flutter_shortcuts: <latest version>
运行 pub get 并获取包。
步骤 2:实例化 Flutter Shortcuts 插件
final FlutterShortcuts flutterShortcuts = FlutterShortcuts();
步骤 3:初始化 Flutter Shortcuts
flutterShortcuts.initialize(debug: true);
示例
定义 Shortcut Action
flutterShortcuts.listenAction((String incomingAction) {
setState(() {
if (incomingAction != null) {
action = incomingAction;
}
});
});
获取最大 Shortcut 限制
一次返回每个启动器图标可以拥有的静态和动态快捷方式的最大数量。
int? result = await flutterShortcuts.getMaxShortcutLimit();
Shortcut Icon Asset
Flutter Shortcuts 允许您从 Android 的 drawable 或 mipmap 以及 Flutter Assets 创建快捷方式图标。
- 如果要使用 Android 资源中的图标,
drawable或mipmap。
使用:ShortcutIconAsset.androidAsset
FlutterShortcutItem(
id: "2",
action: 'Bookmark page action',
shortLabel: 'Bookmark Page',
icon: "ic_launcher",
shortcutIconAsset: ShortcutIconAsset.androidAsset,
),
- 如果要从 Flutter 资源创建快捷方式图标。(默认)
使用:ShortcutIconAsset.flutterAsset
FlutterShortcutItem(
id: "2",
action: 'Bookmark page action',
shortLabel: 'Bookmark Page',
icon: 'assets/icons/bookmark.png',
shortcutIconAsset: ShortcutIconAsset.flutterAsset,
),
设置快捷方式项
发布快捷方式列表。所有现有快捷方式将被替换。
flutterShortcuts.setShortcutItems(
shortcutItems: <FlutterShortcutItem>[
const FlutterShortcutItem(
id: "1",
action: 'Home page action',
shortLabel: 'Home Page',
icon: 'assets/icons/home.png',
),
const FlutterShortcutItem(
id: "2",
action: 'Bookmark page action',
shortLabel: 'Bookmark Page',
icon: "ic_launcher",
shortcutIconAsset: ShortcutIconAsset.androidAsset,
),
],
),
清除快捷方式项
从应用程序中删除所有动态快捷方式。
flutterShortcuts.clearShortcutItems();
推送快捷方式项
推送一个新的快捷方式项。如果已经存在具有相同 ID 的动态或固定的快捷方式,则该快捷方式将被更新并推送到快捷方式列表的末尾。
flutterShortcuts.pushShortcutItem(
shortcut: FlutterShortcutItem(
id: "5",
action: "Play Music Action",
shortLabel: "Play Music",
icon: 'assets/icons/music.png',
),
);
推送快捷方式项列表
推送快捷方式项列表。如果已经存在具有相同 ID 的动态或固定的快捷方式,则该快捷方式将被更新并推送到快捷方式列表的末尾。
flutterShortcuts.pushShortcutItems(
shortcutList: <FlutterShortcutItem>[
const FlutterShortcutItem(
id: "1",
action: 'Home page new action',
shortLabel: 'Home Page',
icon: 'assets/icons/home.png',
),
const FlutterShortcutItem(
id: "2",
action: 'Bookmark page new action',
shortLabel: 'Bookmark Page',
icon: 'assets/icons/bookmark.png',
),
const FlutterShortcutItem(
id: "3",
action: 'Settings Action',
shortLabel: 'Setting',
icon: 'assets/icons/settings.png',
),
],
);
更新快捷方式项
根据 ID 更新单个快捷方式项。如果快捷方式的 ID 不相同,则不会反映任何更改。
flutterShortcuts.updateShortcutItem(
shortcut: FlutterShortcutItem(
id: "1",
action: 'Go to url action',
shortLabel: 'Visit Page',
icon: 'assets/icons/url.png',
),
);
更新快捷方式项列表
更新快捷方式项。如果快捷方式的 ID 不相同,则不会反映任何更改。
flutterShortcuts.updateShortcutItems(
shortcutList: <FlutterShortcutItem>[
const FlutterShortcutItem(
id: "1",
action: 'Resume playing Action',
shortLabel: 'Resume playing',
icon: 'assets/icons/play.png',
),
const FlutterShortcutItem(
id: "2",
action: 'Search Songs Action',
shortLabel: 'Search Songs',
icon: 'assets/icons/search.png',
),
],
);
更改快捷方式项图标
根据 ID 更改快捷方式的图标。如果快捷方式的 ID 不相同,则不会反映任何更改。
flutterShortcuts.changeShortcutItemIcon(
id: "2",
icon: "assets/icons/next.png",
);
获取快捷方式图标属性
获取快捷方式图标的图标属性。
Map<String, int> result = await flutterShortcuts.getIconProperties();
print( "maxHeight: ${result["maxHeight"]}, maxWidth: ${result["maxWidth"]}");