鸿蒙ArkTS声明式开发:跨平台支持列表【按键事件】

按键事件

按键事件指组件与键盘、遥控器等按键设备交互时触发的事件,适用于所有可获焦组件,例如Button。对于Text,Image等默认不可获焦的组件,可以设置focusable属性为true后使用按键事件。

说明:
开发前请熟悉鸿蒙开发指导文档: gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。
从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

事件

名称支持冒泡功能描述
onKeyEvent(event: (event?: KeyEvent) => void)绑定该方法的组件获焦后,按键动作触发该回调,event返回值见[KeyEvent]介绍。

KeyEvent对象说明

名称类型描述
type[KeyType]按键的类型。
[keyCode]number按键的键码。
keyTextstring按键的键值。
keySource[KeySource]触发当前按键的输入设备类型。
deviceIdnumber触发当前按键的输入设备ID。
metaKeynumber按键发生时元键(即Windows键盘的WIN键、Mac键盘的Command键)的状态,1表示按压态,0表示未按压态。
timestampnumber按键发生时的时间戳。
stopPropagation() => void阻塞事件冒泡传递。 HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿

搜狗高速浏览器截图20240326151547.png

示例

// xxx.ets
@Entry
@Component
struct KeyEventExample {
  @State text: string = ''
  @State eventType: string = ''

  build() {
    Column() {
      Button('KeyEvent')
        .onKeyEvent((event: KeyEvent) => {
          if (event.type === KeyType.Down) {
            this.eventType = 'Down'
          }
          if (event.type === KeyType.Up) {
            this.eventType = 'Up'
          }
          this.text = 'KeyType:' + this.eventType + '\nkeyCode:' + event.keyCode + '\nkeyText:' + event.keyText
        })
      Text(this.text).padding(15)
    }.height(300).width('100%').padding(35)
  }
}

keyEvent

鸿蒙语言有TS、ArkTS等语法,那么除了这些基础知识之外,其核心技术点有那些呢?下面就用一张整理出的鸿蒙学习路线图表示:

从上面的OpenHarmony技术梳理来看,鸿蒙的学习内容也是很多的。现在全网的鸿蒙学习文档也是非常的少,下面推荐一些:完整内容可在头像页保存,或这qr23.cn/AKFP8k甲助力

内容包含:《鸿蒙NEXT星河版开发学习文档》

  • ArkTS
  • 声明式ArkUI
  • 多媒体
  • 通信问题
  • 系统移植
  • 系统裁剪
  • FW层的原理
  • 各种开发调试工具
  • 智能设备开发
  • 分布式开发等等。

这些就是对往后开发者的分享,希望大家多多点赞关注喔!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/651020.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【STM32踩坑】HAL固件库版本过高导致烧录后无法运行问题

问题引入 目前STM32CUBEMX已经更新到了6.11版本,对应的固件库也一直在更新; 以STM32F1库为例,目前最新的库对应版本为1.8.5 但是我们会发现,如果直接使用1.8.5版本的固件库生成HAL源码后,烧录是可以烧录,但…

【IC】良率模型-yield model

缺陷密度Default Density(D0),表示单位面积的缺陷数D。 单位面积有M个部件,一个部件的平均失效率为: 一个面积为A的系统(芯片)良率: Possion模型: 当M趋于无穷时,系统良率为possion模型。 Murphy模型:(D~对称三角分布) 大芯片或大系统possion模型预估良率过于…

Python自动化测试进阶:性能测试与持续集成实践

Python自动化测试进阶包括性能测试和持续集成实践两个关键方面。以下是对这两个领域的简要介绍,并附带一些示例代码。 性能测试 性能测试是评估软件在特定条件下的性能表现的过程。对于Python应用程序,可以使用一些工具来进行性能测试,例如ps…

linux centos tomcat启动内存泄漏

tomcat启动内存泄漏 经过与开发沟通,结果是开发写了死循环,导致内存泄漏,上一次是开发少打了一个jar包,让开发查代码就行,重新更新代码

C++学习/复习6---内存管理(数据的位置/大小)/new、delete/内存相关面试题(malloc与new/内存泄漏)

一、内存中区域 1.不同数据的存储位置 2.数据占用内存大小 二、动态内存函数 三、new与delete 1.操作内置类型 2.操作自定义类型 四、operator new与operator delete 1.底层源码(malloc/free) 2.内置/自定义与构造和析构 3.举例 五、定位new表达式 1.举…

TiDB学习3:TiKV

目录 1. TiKV架构和作用 2. RocksDB 2.1 写入 2.2 查询 2.3 Column Families列簇 3. 分布式事务 3.1 事务流程 3.2 分布式事务流程 3.3 MVCC 4. Raft与Multi Raft 4.1 Raft日志复制 4.2 Raft Leader选举 5. TiKV- 读写 5.1 数据的写入 5.2 数据的读取ReadIndex …

教育大模型的发展现状、创新架构及应用展望

引言 从通用大模型到教育领域的专用大模型,是人工智能大模型技术深化发展的必然趋势。教育大模型不是在通用大模型基础上的微调和优化,而是以重构未来教育图景为目标、以开放算法模型架构为基础、以创新教育应用场景为核心的系统性变革。如何厘清教育大…

Linux汉化Jupyter Notebook

要在Linux系统中使Jupyter Notebook汉化,可以通过安装jupyterlab-language-pack-zh-CN扩展来实现。以下是具体步骤和示例代码: 打开终端。 执行以下命令以安装Jupyter Notebook的中文语言包: pip install jupyterlab-language-pack-zh-CN …

实现UI显示在最上面的功能

同学们肯定遇到过UI被遮挡的情况,那如何让UI显示在最前面呢,先看效果 原理:UI的排序方式是和unityHierarchy窗口的层级顺序有关的,排序在下就越后显示,所以按照这个理论,当我们鼠标指到UI的时候把层级设置到最下层就好…

香橙派 AIpro开发体验:使用YOLOV8对USB摄像头画面进行目标检测

香橙派 AIpro开发体验:使用YOLOV8对USB摄像头画面进行目标检测 前言一、香橙派AIpro硬件准备二、连接香橙派AIpro1. 通过网线连接路由器和香橙派AIpro2. 通过wifi连接香橙派AIpro3. 使用vscode 通过ssh连接香橙派AIpro 三、USB摄像头测试1. 配置ipynb远程开发环境1.…

超越连接:ZL-450边缘网关全面评测与应用案例

前言 在现代工业自动化和智能设备管理的背景下,对实时数据通信与设备监控的需求日益增加。ZL450边缘网关作为一款先进的串口通信解决方案,不仅满足了这些要求,还通过其多样的连接性和高效的数据处理能力,为企业带来了显著的效率提…

添加、修改和删除字典元素

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 由于字典是可变序列,所以可以随时在字典中添加“键-值对”。向字典中添加元素的语法格式如下: dictionary[key] value 参数…

为什么短剧突然爆火?背后究竟谁在为流量买单?

为什么短剧突然爆火?背后究竟谁在为流量买单? 文丨微三云营销总监胡佳东,点击上方“关注”,为你分享市场商业模式电商干货。 - 今年很多朋友交流的更多的商业热门话题就是“短剧”,目前我国拥有超10亿的短视频用户&a…

Android:将时间戳转换为本地时间格式

一、效果图 图1,中国的时间格式 图2,美国的时间格式 二、StringUtil.kt代码 import java.text.DateFormat import java.text.SimpleDateFormat import java.util.* object StringUtil {fun formatTimestamp(currentTime: Long): String {var sdf Si…

【吊打面试官系列】Java高并发篇 - 什么是乐观锁和悲观锁?

大家好,我是锋哥。今天分享关于 【什么是乐观锁和悲观锁?】面试题,希望对大家有帮助; 什么是乐观锁和悲观锁? 1、乐观锁: 就像它的名字一样,对于并发间操作产生的线程安全问题持乐观状态, 乐观锁认为竞争…

在没有足够测试数据的请情况下,如何验证前端页面的分页展示和渲染情况

问题描述:测试过程中,为了验证前端页面的展示效果及分页组件的展示情况,测试人员一般都会选择在数据库造数据,但遇到表格管理逻辑特别复杂的情况,可能会耗费大量的时间,此时我们可以选择使用工具模拟返回值…

【quarkus系列】构建可执行文件native image

目录 序言为什么选择 Quarkus Native Image?性能优势便捷的云原生部署 搭建项目构建可执行文件方式一:配置GraalVM方式二:容器运行错误示例构建过程分析 创建docker镜像基于可执行文件命令式构建基于dockerfile构建方式一:构建mic…

Geometry-Aware Attenuation Field Learning for Sparse-View CBCT Reconstruction

摘要: 锥形束CT(Cone Beam Computed Tomography,CBCT)是目前口腔医学中应用最广泛的一种成像方法,要重建一幅高质量的CBCT图像,需要进行数百次的X线投影(即,衰减场)在传…

三分钟“手撕”顺序表与ArrayList

前言: 实现顺序表的代码放开头,供大家更好的查阅,每个方法都有代码的实现。 其次我会讲解Java自带的ArrayList的实例,扩容机制ArrayList使用方法,遍历以及它的优缺点。 目录 一、自己实现的顺序表 二、Java的ArrayLi…

基于Pytorch框架的深度学习ShufflenetV2神经网络十七种猴子动物识别分类系统源码

第一步:准备数据 17种猴子动物数据: self.class_indict ["白头卷尾猴", "弥猴", "山魈", "松鼠猴", "叶猴", "银色绒猴", "印度乌叶猴", "疣猴", "侏绒"…