插件介绍
screen_brightness_ohos 是 screen_brightness[1] 联合插件的鸿蒙(OpenHarmony)端实现,版本 2.1.3。通过它,你可以在鸿蒙设备上获取和设置屏幕亮度,支持系统亮度与应用亮度的分别控制。
这是一个 Endorsed(认可) 的联合插件,你只需在项目中引入 screen_brightness,即可自动包含鸿蒙平台支持,无需额外声明 screen_brightness_ohos 依赖。
安装
在 pubspec.yaml 中添加依赖:
dependencies:
screen_brightness: ^2.1.9
然后执行:
flutter pub get
⚠️ 注意:Flutter SDK 需要 >=3.27.4-ohos-1.0.5 以支持鸿蒙平台编译。
核心用法
ScreenBrightness 以单例方式使用,所有操作均通过静态方法或实例方法调用。
1. 获取系统亮度
final brightness = ScreenBrightness.instance;
double sysBrightness = await brightness.system;
2. 设置系统亮度
await brightness.setSystemScreenBrightness(0.8); // 0.0 ~ 1.0
3. 监听系统亮度变化
brightness.onSystemScreenBrightnessChanged.listen((value) {
print('系统亮度变化: $value');
});
4. 只设置当前应用亮度(不影响系统亮度)
await brightness.setApplicationScreenBrightness(0.5);
5. 获取应用亮度值
double appBrightness = await brightness.application;
6. 重置应用亮度为系统亮度
await brightness.resetApplicationScreenBrightness();
7. 监听应用亮度变化
brightness.onApplicationScreenBrightnessChanged.listen((value) {
print('应用亮度变化: $value');
});
8. 检查应用亮度是否被插件修改过
bool changed = await brightness.hasApplicationScreenBrightnessChanged;
9. 检查是否可以修改系统亮度
bool canChange = await brightness.canChangeSystemBrightness;
以上就是 screen_brightness_ohos 最核心的 API 调用,代码清晰简洁。配合 screen_brightness 主包使用,一套代码即可适配鸿蒙、Android、iOS、macOS、Windows 多个平台。
欢迎关注本系列,下期将继续带来更多实用的鸿蒙 Flutter 插件推荐!🎉
---------
由我编著的《鸿蒙Flutter开发实战》图书已上架京东图书等各大商店,内容涵盖基础知识、鸿蒙化原理及适配、混合开发、插件开发、高级特性优化、性能分析、三方库适配、开发实战、鸿蒙PC等等,基于 Flutter 3.35 版本,是不可多得的 Flutter鸿蒙化适配工具书和实战案例,欢迎大家选购 🎉🎉🎉
引用链接
[1]screen_brightness: https://pub.dev/packages/screen_brightness