@wisdomgarden/cloak-plugin-darkmode
v0.0.1
Published
Dark mode detection and monitoring plugin for Cloak applications.
Downloads
44
Readme
DarkMode 插件
用于检测和监听 HarmonyOS 暗黑模式变化。
安装
ohpm install @wisdomgarden/cloak-plugin-darkmode使用方法
原生侧
修改 EntryAbility.ets:
import { CloakPluginDarkMode } from '@wisdomgarden/cloak-plugin-darkmode';
import { Configuration } from '@kit.AbilityKit';
const darkModePlugin = new CloakPluginDarkMode();
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
const cloak = new Cloak(this);
cloak.addPlugins([
// ... 其他插件
darkModePlugin
]);
}
onConfigurationUpdate(newConfig: Configuration): void {
darkModePlugin.onConfigurationUpdate(newConfig);
}前端侧
// 获取当前暗黑模式状态
const { isDarkModeOn } = await window.Cloak.plugins.DarkMode.isDarkMode();
// 监听暗黑模式变化
const handlerId = window.Cloak.plugins.DarkMode.addEventListener('darkModeChange', (event) => {
console.log(event.isDarkModeOn);
});
// 移除监听
window.Cloak.plugins.DarkMode.removeEventListener('darkModeChange', handlerId);API
isDarkMode()
获取当前暗黑模式状态。
返回值:Promise<DarkModeResult>
DarkModeResult
| 字段 | 类型 | 说明 |
|---|---|---|
| isDarkModeOn | boolean | true 表示当前为暗黑模式 |
addEventListener(event, handler)
监听暗黑模式变化。
| 参数 | 类型 | 说明 |
|---|---|---|
| event | 'darkModeChange' | 事件名 |
| handler | (event: DarkModeResult) => void | 回调函数 |
返回值:string handlerId,用于移除监听。
removeEventListener(event, handlerId?)
移除监听。
| 参数 | 类型 | 说明 |
|---|---|---|
| event | 'darkModeChange' | 事件名 |
| handlerId | string? | 不传则移除该事件所有监听 |
