更多信息请访问:与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.com1.点击事件支持版本:eTSAPIVersion7+事件名称:onClick(callback:(event?:ClickEvent)=>void)ClickEvent对象:screenX(点击点相对于设备屏幕左边缘的X坐标)screenY(点击点相对于设备屏幕右边缘的Y坐标)x(点击点相对于被点击元素左边缘的X坐标)y(点击点相对于被点击元素上边缘的Y坐标)单击的元素)时间戳(事件时间戳)目标(API版本8+支持此属性)/类型:EventTarget使用示例:@Entry@ComponentstructSample{@Statetext:string=''build(){Flex({direction:FlexDirection.Column,alignItems:ItemAlign.Center,justifyContent:FlexAlign.Center}){Button('点击按钮').backgroundColor(Color.Blue).width('50%').height(50).onClick((event:ClickEvent)=>{console.info(this.text='点击点相对于屏幕的位置:'+'\n相对于屏幕左侧X:'+event.screenX+'\n相对于屏幕顶部Y:'+event.screenY+'\n点击的按钮:'+'\n点击点相对于父元素的坐标:\n(x:'+event.target.area.globalPos.x+',y:'+event.target.area.globalPos.y+')\n点击按钮的宽度:'+event.target.area.width+'\n点击按钮的高度:'+event.target.area.height)})Text(this.text).fontSize(15).padding(15)}.width('100%').height('100%')}}效果演示:2.Touch事件支持版本:eTSAPIVersion7+事件名称:onTouch(callback:(event?:TouchEvent)=>void)TouchEvent对象:type(触摸事件的类型)/type:TouchType–>TouchType.Down(手指按下时触发)–>TouchType.Up(手指抬起时触发)–>TouchType.Move(手指在屏幕上按下并移动时触发)–>TouchType.Cancel(取消触摸事件时触发)touches(所有手指信息)changedTouches(当前changedfingerinformation)timestamp(事件时间戳)target(touchedelementobject)-->该属性可以参考上面点击事件中使用表参数的例子:@Entry@ComponentstructSample{@Statetext:string=''@StateeventType:string=''build(){Flex({direction:FlexDirection.Column,alignItems:ItemAlign.Center,justifyContent:FlexAlign.Center}){Button('触摸按钮').backgroundColor(Color.Blue).width('70%')。height(60).onTouch((event:TouchEvent)=>{if(event.type==TouchType.Down){this.eventType='press'}if(event.type==TouchType.Up){this.eventType='lift'}if(event.type==TouchType.Move){this.eventType='按下移动'}console.info(this.text='touchtype:'+this.eventType)})Text(this.text).fontSize(15).padding(15)}.width('100%').height('100%')}}效果演示:3.挂载卸载事件支持版本:eTSAPIVersion7+事件名称:1.onAppear(callback:()=>void)2.onDisappear(callback:()=>void)关键操作:importpromptfrom'@system.prompt'注意:因为需要读取设备系统信息,所以需要在模拟真实设备上运行该操作或者一个真实的设备。示例:从'@system.prompt'导入提示;@Entry@Componentstruct示例{privatetext:string='mounttext'@StateisShow:boolean=trueprivatechangeAppear:string='hiddentext'build(){Flex({direction:FlexDirection.Column,alignItems:ItemAlign.Center,justifyContent:FlexAlign.Center}){按钮(this.changeAppear).backgroundColor(Color.Blue).width(100).height(60).onClick(()=>{this.isShow=!this.isShow})if(this.isShow){Text(this.text).fontSize(20)//挂载.onAppear(()=>{this.changeAppear='显示文字'prompt.showToast({message:'文字显示',duration:2000})})//卸载.onDisAppear(()=>{this.changeAppear='Hiddentext'prompt.showToast({message:'Texthidden',duration:2000})})}}.width('100%').height('100%')}}效果演示:4.按键事件支持版本:eTSAPIVersion7+事件名称:onKeyEvent(event:(event?:KeyEvent)=>void)KeyEvent对象:type(按键事件的类型)/type:KeyType–>TouchType.Down(按键)–>TouchType.Up(释放按键)KeySource(触发当前按键的输入设备类型)/类型:KeySource–>KeySource.Unknown(输入设备类型未知)–>KeySource.Keyboard(输入设备类型为键盘)KeyCode(按键的Keycode)注意事项:由于需要读取设备系统信息,所以需要在模拟的真实设备或真实设备上运行操作。示例:@Entry@ComponentstructSample{@Statetext:string=''@StateeventType:string=''build(){Flex({direction:FlexDirection.Column,alignItems:ItemAlign.Center,justifyContent:FlexAlign.Center}){按钮('按钮').backgroundColor(Color.Blue).width(100).height(60).onKeyEvent((event:KeyEvent)=>{if(event.type===KeyType.Down){this.eventType='press'}if(event.type===KeyType.Up){this.eventType='Release'}console.info(this.text='KeyType:'+this.eventType+'\nKeyCode:'+event.keyCode+'\nKeyValue:'+event.keyText)})Text(this.text).fontSize(15)}.width('100%').height('100%')}}效果演示:详情请访问:与华为官方共建Harmonyos技术社区https://harmonyos.51cto.com
