HarmonyOS 点击时,可以获取到此点击位置在整个屏幕中的坐标绝对值

import router from '@ohos.router';
import {ABTestExamplePage} from 'bbt_abtest'
import { UIContext, UIObserver } from '@ohos.arkui.UIContext';
import { FrameNode } from '@kit.ArkUI';
@Entry
@Component
struct TestEntryPage {
  @State message: string = 'Hello World';
  aboutToAppear(): void {
    let callback = (event: GestureEvent, frameNode?: FrameNode) => {
      event.offsetX;
      event.velocityX;
    };
    let observer: UIObserver = this.getUIContext().getUIObserver();
    observer.on('willClick', callback);
  }
  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
        Button('跳转权限测试')
          .fontSize(30)
          .fontWeight(FontWeight.Bold).onClick(()=>{
        })
        Button('跳转网络测试页面')
          .fontSize(30)
          .fontWeight(FontWeight.Bold).onClick(()=>{
        }).margin(10)

        Button('Routerc测试').onClick(()=>{
        })
        Button('跳转ABTest测试页面')
          .fontSize(30)
          .fontWeight(FontWeight.Bold).onClick(()=>{
        }).margin(10)
      }
      .width('100%')
    }
    .height('100%')
  }
}

点击最上边的按钮,event: GestureEvent关于x轴的取值只能拿到event.offsetX,event.velocityX,但是这两个属性没有值。

HarmonyOS
2024-12-26 15:17:53
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

点击事件可以用ClickEvent,参考:

let callback = (event: ClickEvent, frameNode?: FrameNode) => {
  event.windowX
}

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-events-click-V5#clickevent对象说明

分享
微博
QQ
微信
回复
2024-12-26 17:21:45
相关问题
HarmonyOS 怎么对number取绝对值
243浏览 • 1回复 待解决
HarmonyOS 获取view屏幕坐标
367浏览 • 1回复 待解决
HarmonyOS ArkUI获取元素坐标位置
343浏览 • 1回复 待解决
HarmonyOS 屏幕点击事件监控代码
759浏览 • 1回复 待解决
获取系统屏幕亮度
858浏览 • 1回复 待解决