HarmonyOS鸿蒙Next中如何获取组件在屏幕中的位置坐标

HarmonyOS鸿蒙Next中如何获取组件在屏幕中的位置坐标 获取某个组件在屏幕的x,y坐标位置 根据组件位置设置动画等操作

3 回复
可以使用 `componentUtils.getRectangleById`  
根据组件ID获取组件实例对象, 通过组件实例对象将获取的坐标位置和大小同步返回给开发者  
参考文档:  
[@ohos.arkui.componentUtils (componentUtils)-UI界面-ArkTS API-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者](https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/js-apis-arkui-componentutils-V13)

更多关于HarmonyOS鸿蒙Next中如何获取组件在屏幕中的位置坐标的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,可以通过Component类的getLocationOnScreen方法来获取组件在屏幕中的位置坐标。该方法会返回一个Point对象,包含组件的左上角在屏幕中的X和Y坐标。

具体步骤如下:

  1. 获取目标组件的引用。
  2. 调用getLocationOnScreen方法。
  3. 从返回的Point对象中获取X和Y坐标。

示例代码:

let component = this.$element('yourComponentId'); // 获取组件引用
let point = component.getLocationOnScreen(); // 获取位置坐标
let x = point.x; // X坐标
let y = point.y; // Y坐标

这样即可获取组件在屏幕中的位置坐标。

在HarmonyOS鸿蒙Next中,可以通过getLocationOnScreen方法获取组件在屏幕中的位置坐标。该方法返回一个包含xy坐标的对象,分别表示组件左上角相对于屏幕左上角的水平和垂直位置。示例代码如下:

Component component = findComponentById(ResourceTable.Id_your_component_id);
int[] location = new int[2];
component.getLocationOnScreen(location);
int x = location[0];
int y = location[1];

xy即为组件在屏幕中的坐标。

回到顶部