一种界面元素位置调整方法与流程

文档序号:31869825发布日期:2022-10-21 18:39阅读:35来源:国知局
1.本发明涉及人机交互
技术领域
:,尤其涉及一种界面元素位置调整方法。
背景技术
::2.随着电子技术的发展,车载信息系统已经由原来的物理按钮操作逐渐被触摸屏取代,有些甚至完全取消了物理按钮,而采用触摸屏控制的方式。3.现有的智能移动终端大多为全触屏,通过图标的方式在触摸屏上向用户展示终端已安装的各类应用。用户通过这些图标,可以对终端应用进行管理以及使用通过触摸屏中显示的图标,用户可以快捷地使用终端已安装的应用。4.随着智能操作系统在车载信息系统上的应用,人们可以对布置在显示界面上的图标进行拖动,放到自己想要的位置上。现有的图标拖动显示操作过程复杂,移动效率较低。技术实现要素:5.本发明提供一种界面元素位置调整方法,解决了现有的图标拖动显示操作过程复杂、移动效率较低的技术问题。6.为解决以上技术问题,本发明提供一种界面元素位置调整方法,包括步骤:7.s1、定义拖动控件指针p_item、触摸点相对于被拖动元素的偏移量的全局变量;8.s2、在当前被拖动元素对应的目标节点中添加、配置拖放操纵器;9.s3、根据所述拖放操纵器生成的拖动开始消息,调用第一消息处理函数执行拖动开始进程;10.s4、根据所述拖放操纵器生成的拖动中消息,调用第二消息处理函数实时更新被拖动元素的显示位置;11.s5、根据所述拖放操纵器生成的拖动结束消息,调用第三消息处理函数显示拖动后的所述被拖动元素。12.在进一步的实施方案中,所述步骤s2包括步骤:13.s21、接收用户对界面元素的触屏操作事件,确定当前被拖动元素;14.s22、创建生成拖放消息的拖放操纵器;15.s23、添加拖放操纵器到当前被拖动元素对应的目标节点;16.s24、设置确定拖动开始的持续时间;17.s25、订阅所述目标节点的拖动开始消息、拖动中消息、拖动结束消息。18.在进一步的实施方案中,所述步骤s3包括步骤:19.s31、获取所述拖放操纵器生成的拖动开始消息,调用第一消息处理函数;20.s32、根据所述拖动开始消息的参数获取所述被拖动元素的外观,将所述外观赋值给所述拖动控件指针p_item;21.s33、根据所述拖动开始消息,获取所述触屏操作事件中的触摸点相对于所述被拖动元素的第一相对坐标和第一变换矩阵;22.s34、根据所述第一相对坐标、第一变换矩阵计算所述触摸点的第一屏幕坐标,并根据所述第一相对坐标赋值所述偏移量;23.s35、根据所述第一屏幕坐标赋值所述拖动控件指针p_item,并隐藏所述被拖动元素。24.在进一步的实施方案中,所述步骤s4包括步骤:25.s41、获取所述拖放操纵器生成的拖动中消息,调用第二消息处理函数;26.s42、计算所述被拖动元素的局部拖动锚点;27.s43、根据所述局部拖动锚点计算对应的全局拖动锚点;28.s44、设置渲染变换中的平移属性字段为所述全局拖动锚点;29.s45、根据所述拖动控件指针p_item的当前坐标和所述偏移量,计算所述拖动控件指针的拖动距离量。30.在进一步的实施方案中,在所述步骤s45中:31.拖动距离量=拖动控件指针p_item的当前坐标-偏移量。32.在进一步的实施方案中,所述步骤s5包括:33.s51、根据所述拖放操纵器生成的拖动结束消息,调用第三消息处理函数计算触摸点的第二屏幕坐标;34.s52、根据所述第二屏幕坐标显示拖动后的所述被拖动元素。35.在进一步的实施方案中,所述步骤s51包括步骤:36.a1、根据所述拖放操纵器生成的拖动结束消息,调用第三消息处理函数;37.a2、根据所述拖动结束消息获取所述目标节点的当前参数,所述当前参数包括第二相对坐标和第二变换矩阵;38.a3、根据所述第二相对坐标和所述第二变换矩阵,计算所述触摸点的第二屏幕坐标。39.在进一步的实施方案中,当父节点为整个屏幕大小时,所述第二屏幕坐标为所述第二相对坐标左乘所述第二变换矩阵的值。40.在进一步的实施方案中,所述步骤s52包括步骤:41.b1、判断所述第二屏幕坐标对应的区域是否存在其它元素,若是进入步骤b2,若否进入步骤b3;42.b2、根据所述第二屏幕坐标与所述被拖动元素的初始坐标,交换所述其它元素与所述被拖动元素;43.b3、将所述被拖动元素移动到所述第二屏幕坐标,删除所述初始坐标上的图标;44.b4、隐藏所述拖动控件指针p_item,显示所述被拖动元素,更新图标、刷新界面。45.本发明根据图标拖动的过程设置了对应于拖动开始、拖动中、拖动结束的第一消息处理函数、第一消息处理函数、第一消息处理函数,通过实时检测计算触摸点的屏幕坐标(包括第一屏幕坐标、第二屏幕坐标),进一步确定被拖动元素的拖动轨迹,从而进行实时显示,同时操作过程更加简便,移动效率高,进而实现图标的高效拖动,并提高用户体验和产品竞争力。附图说明46.图1是本发明实施例提供的一种界面元素位置调整方法的工作流程图;47.图2是本发明实施例提供的按钮节点结构的参数设置。具体实施方式48.下面结合附图具体阐明本发明的实施方式,实施例的给出仅仅是为了说明目的,并不能理解为对本发明的限定,包括附图仅供参考和说明使用,不构成对本发明专利保护范围的限制,因为在不脱离本发明精神和范围基础上,可以对本发明进行许多改变。49.本发明实施例提供的一种界面元素位置调整方法,如图1~图2所示,在本实施例中,包括步骤s1~s5:50.s1、定义拖动控件指针p_item、触摸点相对于被拖动元素的偏移量的全局变量。51.在本实施例中,拖动控件指针p_item用于确定界面元素中被选中的元素(即被拖动元素)。界面元素包括按钮、app图标。52.以上偏移量具体为,触摸点相对于被拖动元素左上角的偏移量的全局变量m_draggraboffset。53.s2、在当前被拖动元素对应的目标节点中添加、配置拖放操纵器,包括步骤s21~s25:54.s21、接收用户对界面元素的触屏操作事件,确定当前被拖动元素;55.s22、创建生成拖放消息的拖放操纵器;56.其中,拖放操纵器用于接收拖放的动作(即触屏操作事件),并发送拖动图标过程中三个阶段(拖动开始、拖动中、拖动结束)的相关拖放消息。57.s23、添加拖放操纵器到当前被拖动元素对应的目标节点;58.s24、设置确定拖动开始的持续时间;59.其中,具体的持续时间可根据实际情况进行选择。60.s25、订阅目标节点的拖动开始消息、拖动中消息、拖动结束消息。61.具体过程如下:当拖放操纵器检测到用户按下被拖动元素并保持设定的持续时间(例如500ms)后,生成拖动开始消息;当拖放操纵器检测到拖动控件指针p_item在移动时,生成拖动中消息;当拖放操纵器检测到用户松开拖动控件指针p_item结束拖放手势时,生成拖动结束消息。62.s3、根据拖放操纵器生成的拖动开始消息,调用第一消息处理函数执行拖动开始进程,包括步骤s31~s35:63.s31、获取拖放操纵器生成的拖动开始消息,调用第一消息处理函数;64.s32、根据拖动开始消息的参数获取被拖动元素的外观,将外观赋值给拖动控件指针p_item;65.s33、根据拖动开始消息,获取触屏操作事件中的触摸点相对于被拖动元素的第一相对坐标和第一变换矩阵;66.其中,第一变换矩阵t包含缩放、旋转、平移的操作参数。67.s34、根据第一相对坐标、第一变换矩阵计算触摸点的第一屏幕坐标,并根据第一相对坐标赋值偏移量m_draggraboffset;68.在本实施例中,第一相对坐标左乘第一变换矩阵得到第一屏幕坐标。69.s35、根据第一屏幕坐标赋值拖动控件指针p_item,并隐藏被拖动元素。70.s4、根据拖放操纵器生成的拖动中消息,调用第二消息处理函数实时更新被拖动元素的显示位置,包括步骤s41~s45:71.s41、获取拖放操纵器生成的拖动中消息,调用第二消息处理函数;72.s42、计算被拖动元素的局部拖动锚点;73.在本实施例中,根据拖动控件指针p_item的坐标,计算被拖动元素的局部拖动锚点。其中,局部拖动锚点优选为用户正在被拖动元素的左上角。74.s43、根据局部拖动锚点计算对应的全局拖动锚点;75.s44、设置渲染变换中的平移属性字段为全局拖动锚点;76.s45、根据拖动控件指针p_item的当前坐标和偏移量m_draggraboffset,计算拖动控件指针的拖动距离量。77.在本实施例中,拖动距离量=拖动控件指针p_item的当前坐标-偏移量m_draggraboffset。78.s5、根据拖放操纵器生成的拖动结束消息,调用第三消息处理函数显示拖动后的被拖动元素,包括步骤s51~s52:79.s51、根据拖放操纵器生成的拖动结束消息,调用第三消息处理函数计算触摸点的第二屏幕坐标,包括步骤a1~a3:80.a1、根据拖放操纵器生成的拖动结束消息,调用第三消息处理函数;81.a2、根据拖动结束消息获取目标节点的当前参数,当前参数包括第二相对坐标和第二变换矩阵;82.a3、根据第二相对坐标和第二变换矩阵,计算触摸点的第二屏幕坐标。83.在本实施例中,当父节点为整个屏幕大小时,第二屏幕坐标为第二相对坐标左乘第二变换矩阵的值。如下图所示,以按钮节点为例,按钮节点结构如下:button00~02为元素,它们的父节点为editable,editable的大小设置为铺满整个屏幕,即父节点editable的原点位于屏幕的左上角。即此时,触摸点相对于被拖动元素目标节点的父节点的坐标即为该触摸点的屏幕坐标。84.s52、根据第二屏幕坐标显示拖动后的被拖动元素,包括步骤b1~b4:85.b1、判断第二屏幕坐标对应的区域是否存在其它元素,若是进入步骤b2,若否进入步骤b3;86.b2、根据第二屏幕坐标与被拖动元素的初始坐标,交换其它元素与被拖动元素;87.b3、将被拖动元素移动到第二屏幕坐标,删除初始坐标上的图标;88.b4、隐藏拖动控件指针p_item,显示被拖动元素,更新图标、刷新界面。89.本发明实施例根据图标拖动的过程设置了对应于拖动开始、拖动中、拖动结束的第一消息处理函数、第一消息处理函数、第一消息处理函数,通过实时检测计算触摸点的屏幕坐标(包括第一屏幕坐标、第二屏幕坐标),进一步确定被拖动元素的拖动轨迹,从而进行实时显示,同时操作过程更加简便,移动效率高,进而实现图标的高效拖动,并提高用户体验和产品竞争力。90.上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1