
应用图标
@capacitor-community/app-icon
用于管理应用程序图标的 Capacitor 社区插件. 主要特征是您可以在程序上更改应用程序图标.
![]()
维护者
| 维护者 | GitHub 图像 | 社会 |
|---|---|---|
| 约翰·博尔赫斯 | 约翰伯格斯 | @johnborges (英语) |
开始前
此插件只更改设备主屏幕上的主应用程序图标 。 跳板等区域的图标不会改变并会继续显示原作. (iOS) (中文(简体) )
只有在应用程序处于前台(iOS)时才允许更改应用程序图标.
安装
npm install @capacitor-community/app-icon
npx cap sync
配置
在使用此插件之前, 需要将替代图标包含在应用程序捆绑和项目中 。 要切换到苍蝇上的任何图标,必须先将其添加到工程中. 以下是每个平台的配置步骤.
Android 配置
添加替代图标
将替代图标直接添加到您的 Android 项目 app/src/main/res。 。 。 .
设置应用程序Manifest.xml
每个备选图标均由 <activity-alias>中添加所有替代图标 ApplicationManifest.xml 作为儿童因素 <application>编辑 name 属性 <activity-alias> 必须是有点的前缀 . 见 应用程序Manifest.xml 举个例子.
<application>
<!-- ... -->
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTask"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode"
android:label="@string/title_activity_main"
android:theme="@style/AppTheme.NoActionBarLaunch">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!-- <category android:name="android.intent.category.LAUNCHER" /> -->
</intent-filter>
</activity>
<activity-alias
android:label="Stencil"
android:icon="@drawable/stencil"
android:roundIcon="@drawable/stencil"
android:name=".stencil"
android:enabled="true"
android:exported="true"
android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<!-- additional <activity-alias> -->
<application>
iOS 配置
在资产目录中创建替代图标
在"XCode"中去"资产"并创建App图标.
然后填入图像 1024x1024px

资产名称应当与代码中使用的名称相匹配
更改构建设置
- 访问构建设置
- 搜索 App 图标,
- 选择“ 是” 用于
Include All App Icon Assets - 包含列表( 在
Alternate App Icon Sets),在"资产目录"中有应用程序图标的精确名称.

使用量
import { AppIcon } from '@capacitor-community/app-icon';
const changeIcon = async (iconName) => {
await AppIcon.change({name: iconName, suppressNotification: true});
}
const getName = async () => {
const { value } = await AppIcon.getName();
console.log(value);
}
const resetIcon = async () => {
const disable: string[] = ['stencil']; // all added aliaces names
await AppIcon.reset({ suppressNotification: true, disable });
}
API 密码
已支持 ()
isSupported() => Promise<{ value: boolean; }>
检查是否支持更改应用程序图标 。 (仅iOS)
回返情况: Promise<{ value: boolean; }>
自: 1.0.0 (单位:千美元)
获取Name ()
getName() => Promise<{ value: string | null; }>
获得当前设置的替代图标的名称。 如果设置了原始图标, 返回为无效 .
回返情况: Promise<{ value: string | null; }>
自: 1.0.0 (单位:千美元)
更改(...)
change(options: IconOptions) => Promise<void>
更改应用程序图标为指定的替代 .
| 参数 | 类型 |
|---|---|
options | IconOptions |
自: 1.0.0 (单位:千美元)
重设(...)
reset(options: ResetOptions) => Promise<void>
还原应用程序图标为正本 .
| 参数 | 类型 |
|---|---|
options | ResetOptions |
自: 1.0.0 (单位:千美元)
接口
图标选项
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
name | string | 要设置的替代图标名称 | |
disable | string[] | 要禁用图标的名称 。 这不用于iOS,而用于Android. | 3.1.0 (中文(简体) ) |
suppressNotification | boolean | 更改图标后显示的应用通知中控制标签 。 (iOS) (中文(简体) ) |
重置选项
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
suppressNotification | boolean | 更改图标后显示的应用通知( iOS) . | |
disable | string[] | 要禁用图标的名称 。 这不用于iOS,而用于Android. | 3.1.1 国家 |
贡献者
感谢这些伟大的人emoji 密钥:
约翰·博尔赫斯 💻 |
西蒙・格林 💻 |
克里斯蒂安·冯·罗尔 💻 |
页:1 💻 |
哈多因,哈多因,哈多因,哈多因 📖 |
亚历山大·哈丁 💻 |
本项目遵循 全部贡献者 规格。 任何捐款都欢迎!