【加入班级!学习鸿蒙开发】HarmonyOS新闻类行业实践>>阅音量键翻页

83 阅读1分钟

想系统学习HarmonyOS开发?加入班级,学技术、拿认证、获得HarmonyOS礼盒,一站式成长通道已为你打开!

场景介绍

音量键翻页是新闻阅读类应用的高频场景之一,如用户通过控制音量键切换小说阅读前后页。

本示例基于Reader Kit构建阅读器,并通过全局快捷键监听音量键按下事件,实现音量键翻页。

效果预览

实现思路

  1. 使用Reader Kit构建阅读器。

  2. 使用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                 // 应用资源目录

参考文档

Reader Kit(阅读服务)

@ohos.multimodalInput.inputConsumer(全局快捷键)

readerCore(阅读核心能力)

代码下载

音量键翻页示例代码

(文章转载自华为开发者联盟官网)