想系统学习HarmonyOS开发?加入班级,学技术、拿认证、获得HarmonyOS礼盒,一站式成长通道已为你打开!
场景介绍
音量键翻页是新闻阅读类应用的高频场景之一,如用户通过控制音量键切换小说阅读前后页。
本示例基于Reader Kit构建阅读器,并通过全局快捷键监听音量键按下事件,实现音量键翻页。
效果预览
实现思路
-
使用Reader Kit构建阅读器。
-
使用inputConsumer.on('keyPressed')监听音量键按下事件,在事件回调中使用flipPage控制翻页。
// src/main/ets/views/EmulationView.ets// 监听音量+按键事件let upOption: inputConsumer.KeyPressedConfig = { key: KeyCode.KEYCODE_VOLUME_UP, action: 1, isRepeat: false,}inputConsumer.on('keyPressed', upOption, () => { this.readerComponentController.flipPage(false);});// 监听音量-按键事件let downOption: inputConsumer.KeyPressedConfig = { key: KeyCode.KEYCODE_VOLUME_DOWN, action: 1, isRepeat: false,}inputConsumer.on('keyPressed', downOption, () => { this.readerComponentController.flipPage(true);});
约束与限制
- 本示例支持API Version 16 Release及以上版本。
- 本示例支持HarmonyOS 5.0.4 Release SDK及以上版本。
- 本示例需要使用DevEco Studio 5.0.4 Release及以上版本进行编译运行。
工程目录
├──entry/src/main/ets // 主模块,主要包含页面内容 │ ├──common │ │ └──Constants.ets // 常量类 │ ├──entryability│ │ └──EntryAbility.ets // 应用入口│ ├──entrybackupability│ │ └──EntryBackupAbility.ets│ ├──pages │ │ └──ReaderPage.ets // 主页│ ├──utils │ │ └──Logger.ets // 日志工具类│ └──views│ ├──BottomView.ets // 阅读设置栏│ └──EmulationView.ets // 仿真翻页阅读器实现 └──entry/src/main/resources // 应用资源目录
参考文档
@ohos.multimodalInput.inputConsumer(全局快捷键)
代码下载
(文章转载自华为开发者联盟官网)