System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 元素定位方法、装置、计算机设备、存储介质和程序产品制造方法及图纸_技高网

元素定位方法、装置、计算机设备、存储介质和程序产品制造方法及图纸

技术编号:43411704 阅读:10 留言:0更新日期:2024-11-22 17:48
本申请涉及一种元素定位方法、装置、计算机设备、存储介质和程序产品。所述方法包括:通过响应于针对被拖拽元素的拖拽操作,将被拖拽元素移动至画布的目标位置,确定目标位置对应的初始画布坐标,然后根据在初始画布坐标处已有元素的类型,以及初始画布坐标,确定被拖拽元素的最终画布坐标,和/或,嵌套关系,以实现对被拖拽元素进行定位。由于本申请实施例中,根据初始画布坐标处已有元素的不同类型确定了不同的定位方式,从而能够确定被拖拽元素与已有的多个元素之间的逻辑关系,提高被拖拽元素的准确性。

【技术实现步骤摘要】

本申请涉及计算机软件图形化,特别是涉及一种元素定位方法、装置、计算机设备、存储介质和程序产品


技术介绍

1、计算机软件图形化设计作为人机交互的核心环节,扮演着至关重要的角色。随着科技的飞速进步,图形用户界面(gui)已经从简单的图标和按钮的组合发展成为复杂的系统。

2、目前在基于低代码设计平台进行计算机软件图形化设计时,通常需要拖拽各界面元素进行布局。

3、但是,由于各元素之间存在嵌套或叠加,在针对某一元素进行拖拽操作时,会存在无法准确获取该被拖拽元素与已有的多个元素之间的逻辑关系以及准确坐标的问题。因此,在这种情况下,如何准确定位元素成为本领域亟待解决的技术问题。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够准确定位元素的元素定位方法、装置、计算机设备、存储介质和程序产品。

2、第一方面,本申请提供了一种元素定位方法。该方法包括:

3、响应于针对被拖拽元素的拖拽操作,将该被拖拽元素移动至画布的目标位置;

4、确定该目标位置对应的初始画布坐标;

5、根据在该初始画布坐标处已有元素的类型,以及该初始画布坐标,确定该被拖拽元素的最终画布坐标,和/或,嵌套关系;

6、其中,该已有元素的类型包括:容器或非容器,该嵌套关系为该被拖拽元素与该初始画布坐标处已有元素之间的嵌套关系。

7、在其中一个实施例中,该根据在该初始画布坐标处已有元素的类型,以及该初始画布坐标,确定该被拖拽元素的最终画布坐标,和/或,嵌套关系,包括:

8、若该初始画布坐标处已有元素的类型为容器,则根据该初始画布坐标处已有元素的元素标识,从信息矩阵中获取与该元素标识对应的各已有元素的面积;该信息矩阵包括画布中元素的元素标识、坐标,以及尺寸信息;

9、将元素面积最小的已有元素作为该被拖拽元素的父元素,以得到该被拖拽元素的嵌套关系;

10、将该初始画布坐标作为该最终画布坐标。

11、在其中一个实施例中,该根据在该初始画布坐标处已有元素的类型,以及该初始画布坐标,确定该被拖拽元素的最终画布坐标,包括:

12、若该初始画布坐标处已有元素的类型为非容器,则确定该被拖拽元素的尺寸信息,以及根据该初始画布坐标处已有元素的元素标识,从信息矩阵中获取与该元素标识对应的各已有元素的尺寸信息;

13、根据该尺寸信息确定该被拖拽元素与该初始画布坐标处已有元素的碰撞边界;该碰撞边界包括该被拖拽元素与该初始画布坐标处已有元素重叠部分的边界;

14、根据该碰撞边界确定该被拖拽元素的最终画布坐标。

15、在其中一个实施例中,该响应于针对被拖拽元素的拖拽事件,将该被拖拽元素移动至画布的目标位置之前,该方法还包括:

16、在该画布上层设置有遮罩层,该遮罩层的透明度大于或等于预设透明度;

17、其中,该遮罩层用于隔离针对画布中已有元素对用户操作的响应,以使该初始画布坐标处已有元素不响应该拖拽操作。

18、在其中一个实施例中,该遮罩层的原点与该画布的初始位置的原点一致,该确定该目标位置对应的初始画布坐标,包括:

19、确定该目标位置相对于该遮罩层的原点的第一偏移量;

20、确定该画布的当前位置相对于该初始位置的第二偏移量;

21、根据该第一偏移量和该第二偏移量确定该目标位置对应的初始画布坐标。

22、在其中一个实施例中,该方法还包括:

23、将该被拖拽元素的元素标识与该信息矩阵中的各元素标识进行匹配;

24、若该信息矩阵中的各元素标识中存在与该被拖拽元素的元素标识相同的元素标识,则将该被拖拽元素的最终画布坐标以及尺寸信息,分别作为该与该被拖拽元素的元素标识相同的元素标识对应的坐标以及尺寸信息;

25、若该信息矩阵中的各元素标识中不存在与该被拖拽元素的元素标识相同的元素标识,则该被拖拽元素的元素标识、最终画布坐标以及尺寸信息对应存入该信息矩阵。

26、第二方面,本申请还提供了一种元素定位装置。该装置包括:

27、移动模块,用于响应于针对被拖拽元素的拖拽操作,将该被拖拽元素移动至画布的目标位置;

28、第一确定模块,用于确定该目标位置对应的初始画布坐标;

29、第二确定模块,用于根据在该初始画布坐标处已有元素的类型,以及该初始画布坐标,确定该被拖拽元素的最终画布坐标,和/或,嵌套关系;

30、其中,该已有元素的类型包括:容器或非容器,该嵌套关系为该被拖拽元素与该初始画布坐标处已有元素之间的嵌套关系。

31、第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现上述任一方法的步骤。

32、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一方法的步骤。

33、第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一方法的步骤。

34、上述元素定位方法、装置、计算机设备、存储介质和程序产品,通过响应于针对被拖拽元素的拖拽操作,将被拖拽元素移动至画布的目标位置,确定目标位置对应的初始画布坐标,然后根据在初始画布坐标处已有元素的类型,以及初始画布坐标,确定被拖拽元素的最终画布坐标,和/或,嵌套关系,以实现对被拖拽元素进行定位。由于本申请实施例中,根据初始画布坐标处已有元素的不同类型确定了不同的定位方式,从而能够确定被拖拽元素与已有的多个元素之间的逻辑关系,提高被拖拽元素的准确性。

本文档来自技高网...

【技术保护点】

1.一种元素定位方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据在所述初始画布坐标处已有元素的类型,以及所述初始画布坐标,确定所述被拖拽元素的最终画布坐标,和/或,嵌套关系,包括:

3.根据权利要求1所述的方法,其特征在于,所述根据在所述初始画布坐标处已有元素的类型,以及所述初始画布坐标,确定所述被拖拽元素的最终画布坐标,包括:

4.根据权利要求1所述的方法,其特征在于,所述响应于针对被拖拽元素的拖拽事件,将所述被拖拽元素移动至画布的目标位置之前,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述遮罩层的原点与所述画布的初始位置的原点一致,所述确定所述目标位置对应的初始画布坐标,包括:

6.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:

7.一种元素定位装置,其特征在于,所述装置包括:

8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

...

【技术特征摘要】

1.一种元素定位方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据在所述初始画布坐标处已有元素的类型,以及所述初始画布坐标,确定所述被拖拽元素的最终画布坐标,和/或,嵌套关系,包括:

3.根据权利要求1所述的方法,其特征在于,所述根据在所述初始画布坐标处已有元素的类型,以及所述初始画布坐标,确定所述被拖拽元素的最终画布坐标,包括:

4.根据权利要求1所述的方法,其特征在于,所述响应于针对被拖拽元素的拖拽事件,将所述被拖拽元素移动至画布的目标位置之前,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述遮罩层的原点与所述画布的初始位置的原点一致...

【专利技术属性】
技术研发人员:杨漾赵铭赵永国付剑伟邓树军黄生波诸焕辉段小松
申请(专利权)人:南方电网数字平台科技广东有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1