CN116088731B - 列表排序方法和相关装置 - Google Patents

列表排序方法和相关装置 Download PDF

Info

Publication number
CN116088731B
CN116088731B CN202210946080.4A CN202210946080A CN116088731B CN 116088731 B CN116088731 B CN 116088731B CN 202210946080 A CN202210946080 A CN 202210946080A CN 116088731 B CN116088731 B CN 116088731B
Authority
CN
China
Prior art keywords
list item
list
radius
size
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210946080.4A
Other languages
English (en)
Other versions
CN116088731A (zh
Inventor
李永彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202210946080.4A priority Critical patent/CN116088731B/zh
Publication of CN116088731A publication Critical patent/CN116088731A/zh
Application granted granted Critical
Publication of CN116088731B publication Critical patent/CN116088731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

本申请实施例提供列表排序方法和相关装置。该方法包括:第一时刻接收到down事件;基于down事件控制第一列表项从第一尺寸变为第二尺寸,第一列表项与down事件对应的第一触控坐标相对应;第二尺寸大于第一尺寸;第二时刻接收到move事件;基于move事件控制第一列表项从第一位置移动至第二位置,第二位置与move事件对应的第二触控坐标相关;第三时刻接收到up事件;基于up事件控制第一列表项从第二尺寸变为第一尺寸,以及从第二位置移动至第三位置,第一时刻早于第二时刻,第二时刻早于第三时刻。这样,通过选中的列表项的尺寸的变化,进行按压反馈,方便用户确认选中的列表项,提升用户体验。

Description

列表排序方法和相关装置
技术领域
本申请涉及终端技术领域,尤其涉及列表排序方法和相关装置。
背景技术
终端设备中通过列表的方式显示多个内容。用户可能会对列表中的列表项进行排序,以方便使用,查看浏览等。
但是,用户在对列表项进行排序时,可能会排序错误,用户体验差。
发明内容
本申请实施例提供一种列表排序方法和相关装置,应用于终端技术领域。通过选中的列表项的尺寸的变化,进行按压反馈,方便用户确认选中的列表项,在拖拽结束时,恢复至原尺寸,提升用户体验。
第一方面,本申请实施例提出一种列表排序方法。该方法包括:第一时刻,终端设备接收到按压down事件;终端设备基于down事件控制第一列表项从第一尺寸变为第二尺寸,第一列表项与down事件对应的第一触控坐标相对应;第二尺寸大于第一尺寸;第二时刻,终端设备接收到移动move事件;终端设备基于move事件控制第一列表项从第一位置移动至第二位置,第二位置与move事件对应的第二触控坐标相关;第三时刻,终端设备接收到抬起up事件;终端设备基于up事件控制第一列表项从第二尺寸变为第一尺寸,以及控制第一列表项从第二位置移动至第三位置,第一时刻早于第二时刻,第二时刻早于第三时刻。
可以理解的是,第一列表项对应于下文中选中的列表项。第一时刻可以为下文中t1时刻,第二时刻可以为下文中t2时刻,第三时刻可以为下文中t4时刻。
这样,在拖拽前期(接收到down事件后)调整选中的列表项的尺寸,进行按压反馈,方便用户确认选中的列表项。在拖拽时(接收到move事件)基于触控坐标调整选中的列表项的位置,进行排序。在拖拽结束时(接收到up事件后)调整选中的列表项的尺寸为原尺寸,结束排序。这样,通过选中的列表项的尺寸的变化,进行按压反馈,方便用户确认选中的列表项,在拖拽结束时,恢复至原尺寸,提升用户体验。
可选的,终端设备基于down事件,控制第一列表项从第一尺寸变为第二尺寸,包括:终端设备基于down事件控制第一列表项在第一预设时长内从第一尺寸缩小至第三尺寸,再从第三尺寸放大至第二尺寸。
这样,先缩小后放大,选中的列表项的变化更加明显,方便用户确认,提升用户体验。
可选的,第一列表项的从第一尺寸向第二尺寸变化时的尺寸满足: Scale(Am,t)=ThrScale2*Scale(Am,t1),t1+Ta+Tb<t;
其中,Am为第一列表项,Scale(Am,t)为t时刻第一列表项Am的尺寸,Scale(Am,t1)为第一尺寸,ThrScale1为最大缩小百分比,t1为第一时刻,Ta为缩小动效的总时长,ThrScale2为最大放大百分比,Tb为放大动效的总时长,Ta与Tb之和为第一预设时长。
这样,可以确定第一列表项的尺寸,方便终端设备控制确定第一列表项的布局等,易于实现。
可选的,当第二触控坐标与第一触控坐标在列表方向上的距离小于交换值时,第三位置为第一位置;或者,当第二触控坐标与第一触控坐标在列表方向上的距离大于交换值时,第三位置与第二列表项在列表方向上的高度相关,第二列表项在移动方向上与第一列表项相邻的列表项;交换值与第二列表项在列表方向上的高度相关,或者与第二列表项的位置相关。
这样,在触发交换后,选中的列表项的复位的位置发生变化,实现列表排序未触发交换,选中的列表项的复位的位置不变。
可选的,交换值为第四位置与第一位置之间的距离,第四位置为第二列表项在第一时刻的位置;或者,交换值为第二列表项在列表方向上的高度。
这样,可以实现在相邻列表项的中间位置时触发交换,或者在相邻列表项边缘位置时触发交换。
可选的,方法还包括:当第二触控坐标与第一触控坐标在列表方向上的距离大于交换值时,终端设备控制第二列表项移动至第五位置,并保存第三位置。
这样,在触发交换后,终端设备控制第二列表项移动完成交换,保存选中的列表项交换后的位置,方便后续进行复位。
可选的,当第二触控坐标与第一触控坐标之差大于零时,第五位置为第四位置与第一列表项的高度之差;第三位置为第一位置与第二列表项的高度之和;当第二触控坐标与第一触控坐标之差小于零时,第五位置为第四位置与第一列表项的高度之和;第三位置为第一位置与第二列表项的高度之差。
这样,确定交换后的位置,方便终端设备进行后续的复位等。
可选的,终端设备控制第二列表项从第四位置移动至第五位置,并保存第三位置,包括:终端设备保存第三位置,并控制第二列表项在第二预设时长内移动至第五位置。
这样,保存交换后的位置,方便终端设备后续计算。
可选的,第二时刻后,第二列表项的位置满足:当第二触控坐标与第一触控坐标之差大于零时,t2<t≤t2+Tc;当第二触控坐标与第一触控坐标之差大于零时,/>t2<t≤t2+Tc;
其中,An(t)为第二列表项在t时刻的位置,An(t1)为第四位置,t2为第二时刻,HAm(t1)为第一时刻第一列表项Am在列表方向上的高度,Tc为第二预设时长。
这样,可以确定第二列表项的位置,方便终端设备控制确定第二列表项的布局等,易于实现。
可选的,终端设备基于up事件控制第一列表项从第二尺寸变为第一尺寸,包括:终端设备基于up事件,控制第一列表项在第三预设时长内从第二尺寸变为第一尺寸。
这样,第一列表项在拖拽结束后(up事件)恢复至原尺寸。
可选的,第三时刻后,第一列表项的尺寸满足: t4<t≤t4+Td。
其中,Scale(Am,t)为t时刻第一列表项Am的大小,t4为第三时刻,ThrScale2为最大放大百分比,Td为第三预设时长。
这样,可以确定第一列表项的尺寸,方便终端设备控制确定第一列表项的布局等,易于实现。
可选的,第三位置为第一位置时,第一列表项的位置满足: t4<t≤t4+Td;或者,第三位置为第四位置时,第一列表项的位置满足:t4<t≤t4+Td;
其中,Am(t)为第一列表项在t时刻的位置,Am(t4)为第一列表项在第三时刻的位置,Am(t1)为第一位置,Am(交换)为第四位置。Td为第三预设时长。
可选的,方法还包括:终端设备基于down事件,控制第一列表项的圆角值变为第一值。
这样,在按压时还可以进行外观的变化,方便用户确认选中的列表项,提升用户体验。
可选的,当第一列表项为第一类型时,第一列表项的圆角值满足:Radiuslt(Am,t)=Radiusrt(Am,t)=Thrr1t1<t≤t1+Ta;Radiusmt(A1,t)=Radiusrt(A1,t)=Radiuslb(A1,t)=Radiusrb(A1,t)=Thrr1,t1+Ta<t;当第一列表项为第二类型时,第一列表项的圆角值满足:/> t1<t≤t1+Ta;Radiuslt(Am,t)=Radiusrt(Am,t)=Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1,t1+Ta<t;当第一列表项为第三类型时,第一列表项的圆角值满足:/> Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1,t1<t≤t1+Ta;Radiuslt(Am,t)=Radiusrt(Am,t)=Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1,t1+Ta<t;
其中,Thrr1为固定值,用于表示最大圆角,Ta为圆角值变化的总时长,Radiuslt(Am,t)、Radiusrt(Am,t)、Radiuslb(Am,t)、Radiusrb(Am,t)分别为列表项Am在t时刻左上角对应的圆角值、右上角对应的圆角值、左下角对应的圆角值、右下角对应的圆角值。
这样,第一列表项可以为列表中的任一列表项。不同的类型,圆角的变化不同,提升用户体验。
可选的,终端设备基于up事件,控制第一列表项的圆角值变化。
可选的,方法还包括:当第二触控坐标与第一触控坐标在列表方向上的距离小于交换值时,终端设备更新第一列表项的类型;当第一列表项为第一类型时,第一列表项的圆角值满足:Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1t4<t≤t4+Td;当第一列表项为第三类型时,第一列表项的圆角值满足:Radiuslt(Am,t)=Radiusrt(Am,t)=Thrr1,/> t4<t≤t4+Td;当第一列表项为第二类型时,第一列表项的圆角值满足:/>
这样,触发交换时,第一列表项的类型和第二列表项的类型也随之交换。
可选的,当第二触控坐标与第一触控坐标在列表方向上的距离小于交换值,且第一列表项的类型与第二列表项的类型不同时,第二列表项的圆角值变化;当第二触控坐标与第一触控坐标在列表方向上的距离小于交换值,且第一列表项的类型与第二列表项的类型相同时,第二列表项的圆角值不变。
可选的,当第一列表项为第一类型时,第二列表项的圆角值满足: t2<t≤t2+Tc;Radiuslb(An,t)=Radiusrb(An,t)=0,t2<t≤t2+Tc;当第一列表项为第三类型时,第二列表项的圆角值满足:/> t2<t≤t2+Tc;Radiuslt(An,t)=Radiusrt(An,t)=0,t2<t≤t2+Tc;当第二列表项为第一类型时,第二列表项的圆角值满足:/> t2<t≤t2+Tc;Radiuslb(An,t)=Radiusrb(An,t)=0,t2<t≤t2+Tc;当第二列表项为第三类型时,第二列表项的圆角值满足:/> t2<t≤t2+Tc;Radiuslt(An,t)=Radiusrt(An,t)=0,t2<t≤t2+Tc。
可选的,终端设备包括:页面线程、列表控件、卡片化装饰器、拖拽动效辅助类;终端设备接收到down事件,包括:页面线程接收到down事件;终端设备基于down事件控制第一列表项从第一尺寸变为第二尺寸,包括:页面线程经列表控件将down事件下发至拖拽动效辅助类;拖拽动效辅助类基于down事件中的第一触控坐标确定第一列表项;拖拽动效辅助类确定down事件之后的第一列表项的尺寸;卡片化装饰器基于down事件之后的第一列表项的尺寸确定列表的第一布局信息;列表控件基于第一布局信息渲染列表的区域的第一图像;终端设备显示第一图像。
这样,终端设备可以计算down事件后第一列表项的尺寸,并基于该尺寸进行绘制渲染图像以显示。down事件后,选中的列表项的尺寸的变化,进行按压反馈,方便用户确认选中的列表项。
可选的,方法还包括:拖拽动效辅助类确定down事件之后的第一列表项的圆角值;卡片化装饰器基于down事件之后的第一列表项的尺寸确定列表的第一布局信息,包括:卡片化装饰器基于down事件之后的第一列表项的尺寸,以及down事件之后的第一列表项的圆角值,确定第一布局信息。
这样,终端设备可以计算down事件后第一列表项的圆角值,并基于该圆角值进行绘制渲染图像以显示。down事件后,选中的列表项的外观的变化,进行按压反馈,方便用户确认选中的列表项。
可选的,终端设备接收到move事件,包括:页面线程接收到move事件;终端设备基于move事件控制第一列表项从第一位置移动至第二位置,包括:页面线程经列表控件将move事件下发至拖拽动效辅助类;拖拽动效辅助类确定第二触控坐标与第一触控坐标在列表方向上的距离,以及交换值;当第二触控坐标与第一触控坐标在列表方向上的距离大于交换值时,拖拽动效辅助类确定move事件后第二列表项的位置,以及第三位置;卡片化装饰器基于move事件后第二列表项的位置确定列表的第二布局信息;列表控件基于第二布局信息渲染列表的区域的第二图像;终端设备显示第二图像。
可选的,方法还包括:拖拽动效辅助类确定第二列表项的圆角值;卡片化装饰器基于move事件后第二列表项的位置确定列表的第二布局信息,包括:卡片化装饰器基于move事件后第二列表项的位置,以及第二列表项的圆角值,确定第二布局信息。
可选的,终端设备接收到up事件,包括:页面线程接收到up事件;终端设备基于up事件控制第一列表项从第二尺寸变为第一尺寸,包括:页面线程经列表控件将up事件下发至拖拽动效辅助类;拖拽动效辅助类确定up事件之后的第一列表项的尺寸;卡片化装饰器基于up事件之后的第一列表项的尺寸确定列表的第三布局信息;列表控件基于第三布局信息渲染列表的区域的第三图像;终端设备显示第三图像。
这样,终端设备可以计算up事件后第一列表项的尺寸,并基于该尺寸进行绘制渲染图像以显示。up事件后,选中的列表项的尺寸恢复至原尺寸,拖拽排序结束。
可选的,拖拽动效辅助类确定up事件之后的第一列表项的圆角值;卡片化装饰器基于up事件之后的第一列表项的尺寸确定列表的第三布局信息,包括:卡片化装饰器基于up事件之后的第一列表项的尺寸,以及up事件之后的第一列表项的圆角值,确定第三布局信息。
这样,终端设备可以计算up事件后第一列表项的圆角值,并基于该圆角值进行绘制渲染图像以显示。
第二方面,本申请实施例提供一种终端设备,终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
该终端设备包括:包括:处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得终端设备执行如第一方面的方法。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序。计算机程序被处理器执行时实现如第一方面的方法。
第四方面,本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面的方法。
第五方面,本申请实施例提供了一种芯片,芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行如第一方面所述的方法。
应当理解的是,本申请的第二方面至第五方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2为可能的实现中一种列表排序方法对应的界面示意图;
图3为本申请实施例提供的一种终端设备的软件结构示意图;
图4为本申请实施例提供的一种终端设备内部模块交互示意图;
图5为本申请实施例提供的一种列表项选中动效的界面示意图;
图6为本申请实施例提供的一种终端设备内部模块交互示意图;
图7为本申请实施例提供的一种列表项交换动效的界面示意图;
图8为本申请实施例提供的一种列表项交换动效的界面示意图;
图9为本申请实施例提供的一种终端设备内部模块交互示意图;
图10为本申请实施例提供的一种列表项复位动效的界面示意图;
图11为本申请实施例提供的一种列表排序方法的流程示意图;
图12为本申请实施例提供的一种列表排序方法的流程示意图;
图13为本申请实施例提供的一种列表排序装置的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
需要说明的是,本申请实施例中的“在……时”,可以为在某种情况发生的瞬时,也可以为在某种情况发生后的一段时间内,本申请实施例对此不作具体限定。此外,本申请实施例提供的显示界面仅作为示例,显示界面还可以包括更多或更少的内容。
本申请实施例提供的列表排序方法可以应用于具有显示功能的电子设备中。电子设备包括终端设备。终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
下面结合附图对本申请实施例提供的应用场景进行说明。图1为本申请实施例提供的应用场景示意图。
终端设备可以在图1中的a所示的图库应用的界面,或在图1中的b所示的备忘录界面中,图1中的c所示的文件管理界面,图1中的d所示的卡片管理界面,等接收用户拖拽操作。当终端设备接收到用户的拖拽操作时,终端设备基于拖拽操作调整列表项的位置,以及进行帧绘制、渲染、合成等过程,对拖拽操作对应的列表项的位置变化进行显示。
可以理解的是,图1所示的界面仅作为示例,本申请实施例提供的列表排序方法还可以应用于其他列表界面,例如天气应用的城市编辑界面,等。本申请实施例对于列表界面的具体形式不做限定。
终端设备中通过列表的方式显示多个内容。用户可能会对列表中的列表项进行排序,以方便用户查看浏览等。
可能的设计一中,通过点击列表中上移、下移按钮以实现列表中各个项的位置更换排序。
示例性的,图2为可能的设计中一种终端设备的界面示意图,如图2所示,界面包括多个列表项,分别为列表项201、列表项202、列表项203和列表项204。每个列表项对应有上移按钮和下移按钮。当终端设备在图2所示的界面接收到用户点击列表项202对应的上移按钮205时,列表项202和列表项201交换位置。当终端设备在图2所示的界面接收到用户点击列表项202对应的下移按钮206时,列表项202和列表项203交换位置。
但是,这样的实现方式效率较低,且每次点击操作只能移动一条数据的距离。如果待排序的列表项较多,排序耗时长且效率低。用户在对列表项进行排序时,无法区分选中的列表项,终端设备的用户体验差。
可能的设计二中,通过拖拽的方式实现列表项的排序。具体的,将把某个列表项从原位置拖动到目标位置。
但是,现有的拖拽排序方式中,选中的列表项与其他列表项显示相同,用户无法区分选中的列表项,可能会在误选中其他列表项时进行排序,排序错误,用户体验差。
基于此,本申请实施例提供一种列表排序方法。在接收到按压操作时,按压操作对应的列表项设置有动效,这样,基于动效,方便用户确认选中的列表项,减少误排序的情况,增加用户体验。
为方便理解,下面对终端设备的软件系统进行说明。终端设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构等,在此不再赘述。
示例性的,图3为本申请实施例提供的一种终端设备的软件架构示意图。其中,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将安卓(android)系统分为五层,从上至下分别为应用程序层、应用程序框架(framework)层、硬件抽象层(hardware abstraction layer,HAL)、内核层(kernel)、以及硬件(hardware)层。
应用程序层可以包括一系列应用程序包。如图3所示,应用程序包可以包括相机、日历、地图、电话等应用程序。其中,应用程序包括页面和列表控件。列表控件包括:卡片化装饰器、卡片化装饰器回调、动效辅助类和动效辅助类回调。
卡片化装饰器用于提供列表的卡片装饰效果,确定列表的布局。卡片装饰效果包括但不限于:列表项的圆角外观、列表项的间距、列表项的分隔线等视觉效果。
卡片化装饰器回调用于监听列表项的圆角外观、列表项的间距、列表项的分隔线等视觉效果的变化,方便绘制渲染。
动效辅助类用于实现拖拽动效效果。动效辅助类具体用于计算列表项的尺寸大小、计算外观信息(例如,圆角)、以及列表项之间的交换时的位置等。
动效辅助类回调用于监听列表项的尺寸、外观、位置等变化,以方便回传列表项的尺寸大小、计算外观信息(例如,圆角)、以及列表项之间的交换时的位置等。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层中可以包括一些预先定义的函数。如图2所示,应用程序框架层可以包括下述一种或多种:视图框架、动效框架等。
视图框架可用于视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
动效框架用于实现列表项动态效果,例如,列表项被选中时的缩小动效、放大动效,拖拽时的交换动效,控制列表项结束拖拽时的复位动效等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合终端设备界面切换的场景,示例性说明终端设备软件以及硬件的工作流程。
当终端设备中的触摸传感器接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸力度,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为图库应用图标的控件为例,图库应用调用应用框架层的接口,启动图库应用,进而通过调用内核层启动显示驱动,显示图库应用的功能界面。
下面结合图4-图10对本申请实施例提供的列表排序方法进行说明。
需要说明的是,终端设备中的列表可以为横向,也可以为竖向。下面以竖向列表为例,对列表排序方法进行说明。横向列表的排序方法与竖向列表的排序方法类似,本申请实施例不再详细赘述。
可以理解的是,在用户通过拖拽的方式进行列表排序的过程中,拖拽操作可以分为按压操作、移动操作和抬起操作,分别于按压(down)事件、移动(move)事件和抬起(up)事件。
下面结合图4-图10分别对终端设备在三种事件中内部模块的交互过程进行说明。终端设备涉及的模块包括:页面线程、列表控件、卡片装饰器、拖拽动效辅助类。
示例性的,图4为down事件对应的模块交互示意图。以终端设备接收并响应于用户点击应用图标的操作,进入应用为例,如图4所示,交互过程包括:
S401、当应用的页面线程确认应用界面包括列表时,调用列表控件并注册卡片化装饰器回调,以及拖拽动效辅助类回调,终端设备显示列表界面。通过卡片化装饰器回调(carded decoration.call back)接口向列表控件注册卡片化装饰器回调,以方便在列表项的布局变化时,返回列表项的布局。
通过拖拽动效辅助类回调(carded item touch helper.call back)接口向列表控件注册拖拽动效辅助类回调,以方便在列表排序过程中回传列表项的大小、圆角、位置等参数,进而更改列表的布局。
S402、当终端设备接收到用户手指的按压操作时,页面线程经应用程序框架层从内核层获取到down事件。
可能的实现方式中,当终端设备接收到用户手指的按压操作的时间满足阈值时,页面线程经应用程序框架层从内核层获取到down事件。
阈值可以为100ms,或其他任意数值,本申请实施例对此不作限定。按压时间超过阈值时,确认发生长按事件。若按压时间未达到阈值,未发生长按事件。这样,可以减少误操作。
本申请实施例中,down事件中包括第一触控坐标和down事件对应的时间。
S403、当第一触控坐标对应的位置为列表控件时,页面线程将down事件分发至列表控件。
S404、列表控件将down事件分发至拖拽动效辅助类。
S405、拖拽动效辅助类基于down事件中的第一触控坐标确定并记录选中的列表项Am。
S406、拖拽动效辅助类确定down事件对应的时间之后的第一预设时长内的选中的列表项Am的尺寸大小和/或圆角值。
下面对选中的列表项Am中的尺寸变化进行说明。
本申请实施例中,选中的列表项的尺寸先缩小至第一阈值后放大至第二阈值;或者,选中的列表项的尺寸缩小至第一阈值;或者,选中的列表项的尺寸放大至第二阈值,或者,选中的列表项的尺寸先缩小至第一阈值,维持第一阈值一段时间,然后放大至第二阈值。
以down事件对应的时间为t1时刻,且t1时刻之后的第一预设时长内选中的列表项的尺寸先缩小至第一阈值后放大至第二阈值为例,t1时刻后列表项的尺寸大小满足: t1+Ta<t≤t1+Ta+Tb;Scale(Am,t)=ThrScale2*Scale(Am,t1),t1+Ta+Tb<t。
其中,Scale(Am,t)为t时刻列表项Am的大小,ThrScale1为最大缩小百分比,Ta为缩小动效的总时长,Scale(Am,t1)为t1时刻列表项Am的大小;ThrScale2为最大放大百分比,Tb为放大动效的总时长。
ThrScale1可以为0.03,也可以为0.05或其他任意数值,ThrScale2可以为0.03,也可以为0.05或其他任意数值,本申请实施例对此不做限定。
相对应的,第一阈值可以为0.97Scale(Am,t1),也可以为0.95Scale(Am,t1)或其他任意数值。第二阈值可以为1.03Scale(Am,t1),也可以为1.05Scale(Am,t1)或其他任意数值,本申请实施例对于第一阈值和第二阈值的取值不作限定。
需要说明的是,终端设备基于Vsync信号绘制渲染页面,Vsync信号的时间间隔与终端设备的帧率相关。示例性的,终端设备的帧率为120Hz,Vsync信号的时间间隔为8.33ms。
拖拽动效辅助类可以基于Vsync信号的时间戳确定down事件对应的时间之后绘制渲染的每帧画面中选中的列表项的尺寸大小。
示例性的,以Vsync信号的时间戳为10ms且t1<10≤t1+Ta为例,则 以Vsync信号的时间戳为18.3ms且t1+Ta<18.3≤t1+Ta+Tb为例,则/>
下面对选中的列表项Am的外观变化进行说明。
下面以选中的列表项的四角的圆角值均变为第三阈值,列表项Am的外观变化的时长为Ta为例,对选中的列表项Am四角的变化进行说明。
可以理解的是,不同位置的列表项对应的卡片类型可能相同,也可以能不同。
示例性的,卡片类型为类型1、类型2、类型3。类型1对应列表项的左上角对应的圆角值、右上角对应的圆角值均为Thrr1,Thrr1为固定值,用于表示最大圆角,类型1对应列表项的左下角对应的圆角值、右下角对应的圆角值均为0;类型2对应列表项的左上角对应的圆角值、右上角对应的圆角值、左下角对应的圆角值、右下角对应的圆角值均为0;类型3对应列表项的左上角对应的圆角值、右上角对应的圆角值均为0;、类型3对应列表项的左下角对应的圆角值、右下角对应的圆角值均为Thrr1
若列表中的第一项为类型1,列表中的最后一项为类型3,列表中的其他列表项为类型2;则,当选中的列表项Am为列表中的第一项时,选中的列表项的四角的弧度满足:Radiuslt(A1,t)=Radiusrt(A1,t)=Thrr1t1<t≤t1+Ta;Radiusmt(A1,t)=Radiusrt(A1,t)=Radiuslb(A1,t)=Radiusrb(A1,t)=Thrr1,t1+Ta<t。
其中,Thrr1为固定值,用于表示最大圆角,Ta为圆角值变化的总时长,Radiuslt(Am,t)、Radiusrt(Am,t)、Radiuslb(Am,t)、Radiusrb(Am,t)分别为列表项Am在t时刻左上角对应的圆角值、右上角对应的圆角值、左下角对应的圆角值、右下角对应的圆角值。
Thrr1可以为12设备独立像素(density-independent pixels,dp),也可以为10dp或者为其他任意数值,此处不做限定。
当选中的列表项Am为列表中的最后一项时,选中的列表项的四角的弧度满足:Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1,t1<t≤t1+Ta;Radiuslt(Am,t)=Radiusrt(Am,t)=Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1,t1+Ta<t。
当选中的列表项既不是第一项,也是最后一项时,选中的列表项的四角的弧度满足:t1<t≤t1+Ta;Radiuslt(Am,t)=Radiusrt(Am,t)=Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1,t1+Ta<t。
示例性的,拖拽动效辅助类可以基于Vsync信号的时间戳确定每帧画面中选中的列表项的圆角值。示例性的,以Vsync信号的时间戳为10ms,t1<10≤t1+Ta且选中的列表项为第一项为例,则Radiuslt(A1,t2)=Radiusrt(A1,t2)=Thrr1 以Vsync信号的时间戳为18.3ms且t1+ta<18.3,则Radiuslt(A1,t2)=Radiusrt(A1,t2)=Radiuslb(A1,t2)=Radiusrb(A1,t2)=Thrr1
可以理解的是,在down事件后,终端设备可以单独调整列表项的大小,也可以单独调整列表项的圆角值等,还可以同时调整列表项的大小以及圆角值等。此处不做限定。
可能的实现方式中,在down事件后,终端设备还可以通过调整颜色、增加阴影等方式调整选中的列表项的外观。
可能的实现方式中,页面线程在接收到Vsync信号后,将Vsync信号的时间戳分发至拖拽动效辅助类。拖拽动效辅助类基于接收到的Vsync信号的时间戳计算该帧画面对应的选中的列表项的尺寸大小和/或列表项的圆角值,直至动效结束或者接收到up事件。
或者,拖拽动效辅助类基于帧率对应的时间间隔计算t1后绘制渲染的每帧画面中选中的列表项的尺寸大小和/或列表项的圆角值。
具体的,以帧率对应的时间间隔为8.3ms为例,终端设备基于t1+8.3、t1+8.3*2等时间计算t1后绘制渲染的每帧画面中选中的列表项的尺寸大小和/或列表项的圆角值,直至动效结束或者接收到up事件。
S407、拖拽动效辅助类将选中的列表项的尺寸大小和/或列表项的圆角值发送至卡片化装饰器。
S408、卡片化装饰器基于选中的列表项的尺寸大小和/或列表项的圆角值,以及第一触控坐标等确定列表项的布局信息。
列表项的布局包括但不限于:列表项之间的间距、背景显示区域、分隔线的位置等。
S409、卡片化装饰器将列表项的布局信息发送至列表控件。
S410、列表控件基于列表项的布局信息绘制渲染列表区域的图像。
S411、页面线程显示down事件及其之后第一预设时长之内的界面。
这样,终端设备可以调整用户按压位置对应的列表项的尺寸和/或外观等,方便用户确认选中的列表项,减少误排序的情况,增加用户体验。
示例性的,图5为本申请实施例提供的一种终端设备的界面示意图。图4所示的列表界面可以对应于图5中的a所示的界面。该界面包括多个列表项,分别为列表项A1、列表项A2、列表项A3、列表项A4。
t1时刻,列表项A1的位置为A1(t1)、列表项A2的位置为A2(t1)、列表项A3位置为A3(t1)和列表项A4的位置为A4(t1)。列表项的位置可以为列表项的中心位置,也可以为列表项的顶部位置,还可以为列表项的底部位置等,本申请实施例对于终端设备计算所使用的列表项的具体位置不做限定。
列表项A1的尺寸大小为Scale(A1,t1)、列表项A2的尺寸大小为Scale(A2,t1)、列表项A3的尺寸大小为Scale(A3,t1)和列表项A4的尺寸大小为Scale(A4,t1)
列表项A1的四角的弧度(圆角值)分别为Radiuslt(A1,t1)=Radiusrt(A1,t1)=Thrr1,Radiuslb(A1,t1)=Radiusrb(A1,t1)=0;列表项A2的四角的弧度分别为Radiuslt(A2,t1)=Radiusrt(A2,t1)=Radiuslb(A2,t1)=Radiusrb(A2,t1)=0;列表项A3的四角的弧度分别为Radiuslt(A3,t1)=Radiusrt(A3,t1)=Radiuslb(A3,t1)=Radiusrb(A3,t1)=0;列表项A4的四角的弧度分别为Radiuslt(A4,t1)=Radiusrt(A4,t1)=0,Radiuslb(A4,t1)=Radiusrb(A4,t1)=Thrr1
t1时刻,当终端设备在图5中的a所示的列表界面接收到针对列表项为A1的按压操作时,基于按压操作对应的坐标确定选中的列表项为A1,终端设备控制列表项A1执行选中特效。
若选中特效包括:列表项的尺寸先缩小后放大,以及圆角值变化。以列表项在Ta时长内缩小至ThrScale1,在Tb时长内放大至ThrScale2,圆角值在Ta时长内变为Thrr1为例。
t1时刻后,当Vsync A1信号到来时,终端设备基于Vsync A1信号的时间戳a1确定列表项A1的尺寸大小与圆角值。若t1<a1≤t1+Ta,列表项A1的尺寸为 列表项A1的圆角值为:Radiusmt(A1,t1)=Radiusrt(A1,t1)=Thrr1,/>终端设备基于VsyncA1信号绘制渲染的图像可以如图5中的b所示。相比较于图5中的a所示的界面,图5中的b所示的列表项A1的尺寸较小,列表项A1的左下角和右下角的圆角值增大。
当Vsync A2信号到来时,终端设备基于Vsync A2信号的时间戳a2确定列表项A1的尺寸大小与圆角值。若t1+Ta<a2≤t1+Ta+Tb,列表项A1的尺寸为 列表项A1的圆角值为:Radiusmt(A1,t1)=Radiusrt(A1,t1)=Radiuslb(A1,t1)=Radiusrb(A1,t1)=Thrr1。终端设备基于Vsync A2信号绘制渲染的图像可以如图5中的c所示。相比较于图5中的b所示的界面,图5中的c所示的列表项A1的尺寸较大,列表项A1的左下角和右下角的圆角值增大。
当Vsync A3信号到来时,终端设备基于Vsync A3信号的时间戳a2确定列表项A1的尺寸大小与圆角值。若t1+Ta+Tb<a3,列表项A1的尺寸为(1+ThrScale2)*Scale(A1,t1),列表项A1的圆角值为:Radiuslt(A1,t1)=Radiusrt(A1,t1)=Radiuslb(A1,t1)=Radiusrb(A1,t1)=Thrr1。终端设备基于Vsync A3信号绘制渲染的图像可以如图5中的d所示。相比较于图5中的a-c所示的界面,图5中的d所示的界面中列表项A1的尺寸较大。相比较于图5中的c所示的界面,图5中的d所示的界面中列表项A1的左下角和右下角的圆角值相同。
可以理解的是,图5所示的界面中,终端设备在t1时刻至Vsync A3信号期间,未接收到拖拽操作,列表项A1的位置未发生变化。若终端设备在t1时刻至Vsync A3信号期间接收到拖拽操作,列表项A1基于拖拽操作的位移变化而变化。
可以理解的是,选中的列表项的位置满足:Am(t)=Am(t1)+y2-y1。其中,Am(t)为选中的列表项在t时刻的位置,Am(t1)为选中的列表项在t1时刻的位置,y为move事件中第二触控坐标在列表方向上的坐标值,y1为第一触控坐标在列表方向上的坐标值。
下面结合图6对拖拽过程中的列表项交换的情况进行说明。示例性的,图6为move事件对应的模块交互示意图。
如图6所示,交互过程包括:S412、当终端设备接收到用户手指的移动操作时,页面线程经应用程序框架层从内核层获取到move事件。
move事件中包括第二触控坐标和move事件对应的时间。
S413、页面线程将move事件分发至列表控件。
S414、列表控件将move事件分发至拖拽动效辅助类。
S415、拖拽动效辅助类基于move事件中的第二触控坐标确定是否满足交换条件。
本申请实施例中,交换条件与第一触控坐标、第二触控坐标以及位移方向上相邻的列表项的位置相关。
具体的,拖拽动效辅助类基于第一触控坐标、第二触控坐标确定位移方向上相邻的列表项。
可能的实现方式一中,当第一触控坐标与第二触控坐标在列表方向上距离大于交换值时,触发交换。交换值为位移方向上相邻的列表项的高度。
这样,在拖拽超过相邻列表项的远离选中的列表项的边缘位置时触发交换。
一些实施例中,当第一触控坐标与第二触控坐标在列表方向上距离等于交换值时,可以触发交换。另一些实施例中,当第一触控坐标与第二触控坐标在列表方向上距离小于交换值时,不触发交换。本申请实施例对于第一触控坐标与第二触控坐标在列表方向上距离等于交换值的情况不做具体限定。
示例性的,以列表包括列表项A1、列表项A2和列表项A3,且列表项A1、列表项A2和列表项A3按顺序从上至下排列为例。若列表项A2为选中的列表项,当列表项A2的下边缘被拖拽至列表项A3的下边缘重合,即列表项A2移动的距离大于或等于列表项A3的高度时,触发列表项A2与列表项A3交换。
若列表项A2为选中的列表项,当列表项A2的上边缘被拖拽至列表项A1的上边缘重合,即列表项A2移动的距离大于或等于列表项A1的高度时,触发列表项A2与列表项A1交换。
可以理解的是,若y2-y1>0,当y2-y1>HAn(t1),触发列表项Am与列表项An交换。若y2-y1<0,当y1-y2>HAn(t1),触发列表项Am与列表项An交换。其中,HAn(t1)为t1时刻列表项An在列表方向上的高度(尺寸)。An为位移方向上相邻的列表项,y2为第二触控坐标在列表方向上的坐标值,y1为第一触控坐标在列表方向上的坐标值。
可能的实现方式二中,当第一触控坐标与第二触控坐标在列表方向上距离大于或等于交换值时,交换值为位移方向上相邻的列表项的中间位置坐标与选中的列表项的中间位置坐标之差。
这样,在拖拽至相邻列表项的中间位置时触发交换。
示例性的,以列表包括列表项A1、列表项A2和列表项A3,且列表项A1、列表项A2和列表项A3按顺序从上至下排列为例。若列表项A2为选中的列表项,当列表项A2被拖拽至列表项A3的中间位置,即列表项A2的中间位置与列表项A3的中间位置重合时,触发列表项A2与列表项A3交换。
示例性的,以Am(t1)为列表项Am的中间位置,An(t1)为列表项Am的中间位置为例,当y2-y1>An(t1)-Am(t1),即Am(t2)>An(t1),触发列表项Am与列表项An交换。
其中,HAn(t1)为t1时刻列表项An在列表方向上的高度(尺寸)。An为位移方向上相邻的列表项,y为第二触控坐标在列表方向上的坐标值,y1为第一触控坐标在列表方向上的坐标值。
可以理解的是,当选中的列表项与位移方向上相邻的列表项在的尺寸在t1时刻相同时,交换值可以为选中的列表项在t1时刻的位置与位移方向上相邻的列表项在t1时刻的位置之差。方式一和方式二中的交换值相同。
当不满足交换条件时,拖拽动效辅助类向卡片装饰器发送第二触控坐标。卡片化装饰器将列表项的布局发送至列表控件。列表控件基于move事件对应的布局重新绘制列表。页面线程显示move事件对应的界面。
S416、当满足交换条件时,拖拽动效辅助类确定交换的列表项An的位置坐标和/或圆角值。
可能的实现方式中,拖拽动效辅助类还确定选中的列表项Am交换后的复位位置Am(交换)。可以理解的是,后续终端设备基于选中的列表项Am交换后的复位位置确定列表项Am的最终位置。
下面对列表项交换时的位置进行说明。
以move事件对应的时间为t2时刻为例,选中的列表项的位置满足:Am(t2)=Am(t1)+y2-y1。其中,Am(t2)为选中的列表项在t2时刻的位置,Am(t1)为选中的列表项在t2时刻的位置,y2为第二触控坐标在列表方向上的坐标值,y1为第一触控坐标在列表方向上的坐标值。
被交换的列表项An在交换时的位置满足:当第一触控坐标与第二触控坐标之差大于零时,t2<t≤t2+Tc;或者,第一触控坐标与第二触控坐标之差小于零时,/>t2<t≤t2+Tc。记录选中的列表项Am复位后的位置为Am(交换)=Am(t1)-HAn(t1),或者,Am(交换)=Am(t1)+HAn(t1)
其中,HAn(t1)为t1时刻列表项An在列表方向上的高度(尺寸)。HAm(t1)为t1时刻列表项Am在列表方向上的高度,Tc为交换动效的总时长。
若选中的列表项Am与被交换的列表项An的尺寸大小一致,被交换的列表项An在交换时的位置满足:t2<t≤t2+Tc;记录选中的列表项Am复位后的位置为Am(交换)=An(t1)。
可以理解的是,被交换的列表项An的圆角外观是否发生变化与发生交换的两个列表项的卡片类型是否相同相关。当发生交换的两个列表项的卡片类型相同时,被交换的列表项An的圆角外观不发生变化。当发生交换的两个列表项的卡片类型不同时,被交换的列表项An的圆角外观发生变化。
示例性的,卡片类型包括类型1、类型2、类型3。若列表中的第一项为类型1,列表中的最后一项为类型3,列表中的其他列表项为类型2。当选中的列表项Am为第一项或最后一项,或者交换的列表项An为第一项或最后一项时,被交换的列表项An的圆角外观发生变化。
当被选中的列表项Am与交换的列表项An均不为第一项,并且选中的列表项Am与交换的列表项An均不为最后一项时,交换的列表项An的圆角外观不发生变化。
下面对交换的列表项An的圆角变化进行说明。
示例性的,若类型1对应列表项的左上角对应的圆角值、右上角对应的圆角值均为Thrr1,Thrr1为固定值,用于表示最大圆角,类型1对应列表项的左下角对应的圆角值、右下角对应的圆角值均为0;类型2对应列表项的左上角对应的圆角值、右上角对应的圆角值、左下角对应的圆角值、右下角对应的圆角值均为0;类型3对应列表项的左上角对应的圆角值、右上角对应的圆角值均为0;、类型3对应列表项的左下角对应的圆角值、右下角对应的圆角值均为Thrr1
当选中的列表项Am为第一项时,交换的列表项An的圆角值为: t2<t≤t2+Tc;Radiuslb(An,t)=Radiusrb(An,t)=0,t2<t≤t2+Tc
当选中的列表项Am为最后一项时,交换的列表项An的圆角值为: t2<t≤t2+Tc;Radiuslt(An,t)=Radiusrt(An,t)=0,t2<t≤t2+Tc
当交换的列表项An为第一项时,交换的列表项An的圆角值为: t2<t≤t2+Tc;Radiuslb(An,t)=Radiusrb(An,t)=0,t2<t≤t2+Tc。
当交换的列表项An为最后一项时,交换的列表项An的圆角值为: t2<t≤t2+Tc;Radiuslt(An,t)=Radiusrt(An,t)=0,t2<t≤t2+Tc。
S417、拖拽动效辅助类向卡片装饰器发送交换的列表项An的位置坐标和/或圆角值,以及交换后的卡片类型。
S418、卡片化装饰器基于交换的列表项的圆角值、交换的列表项的位置、选中的列表项的位置,确定列表项的布局信息。
列表项的布局包括但不限于:列表项之间的间距、背景显示区域、分隔线的位置等。
S419、卡片化装饰器将列表项的布局信息发送至列表控件。
S420、列表控件基于列表项的布局信息绘制渲染列表区域的图像。
S421、页面线程显示触发交换的move事件以及第二预设时长之内的界面。
可以理解的是,终端设备可以接收到多次move事件,也可能多次触发列表项交换。
可以理解的是,若down事件之后up事件之前,终端设备接收到move事件,卡片化装饰器还基于move事件对应的第二触控坐标调整布局信息中选中的列表项的位置信息。
示例性的,图7为本申请实施例提供的一种终端设备的界面示意图。如图7所示,
t2时刻,当终端设备在图5中的a所示的列表界面接收到拖拽操作时,基于拖拽操作的位移确定是否触发列表项交换。
以终端设备接收到向下的移动操作,在拖拽至相邻列表项的远离选中的列表项的边缘位置时触发交换为例,若up事件对应的坐标为y1,move事件对应的坐标为y2,列表项A2的高度为HA2
若y2-y1>0,与列表项A1在位移方向上相邻的列表项为列表项A2,当y2-y1<HA2时,终端设备未触发交换,终端设备基于A1(t2)绘制渲染图像。终端设备基于A1(t2)绘制渲染的图像可以如图7中的a所示。相比较于图5所示的界面,列表项A1的位置发生变化。
当y2-y1>0,且y2-y1>HA2时,则t2时刻触发列表项交换,终端设备执行交换动效。列表项A2的位置发生变化。以交换特效的时长为Tc为例,则在t2时刻后的Tc时长内列表项A2的位置上移,上移距离与列表项A1的高度一致。
若发生交换的两个列表项的卡片类型不同时,交换动效可能还包括圆角值变化。
示例性的,t2时刻后,当Vsync B1信号到来时,终端设备基于Vsync B1信号的时间戳b1确定列表项A2的位置,以及列表项A2的圆角值。
若t2<b1≤t2+Tc,列表项A2的位置为列表项A2的位置圆角值为:/>终端设备基于Vsync A2信号绘制渲染的图像可以如图7中的b所示。相比较于图5所示的界面,图7中的b所示的列表项A2的位置改变,列表项A2的左上角和右上角的圆角值增大。
当Vsync B2信号到来时,终端设备基于Vsync B2信号的时间戳b2确定列表项A2的位置,以及列表项A2的圆角值。若t2+Tc<b2,列表项A2的位置为A1(t1),列表项A2的位置圆角值为:Radiuslb(An,t)=Radiusrb(An,t)=Thrr1。终端设备基于Vsync B2信号绘制渲染的图像可以如图7中的c所示。相比较于图7中的b所示的界面,图7中的c所示的列表项A2的位置改变,列表项A2的左上角和右上角的圆角值增大。后续若未再次触发列表项A2交换,列表项A2的位置,以及圆角值不再变化。
可以理解的是,终端设备在t2时刻至Vsync B2信号期间,未接收到拖拽操作,列表项A2的位置不变。若终端设备在t1时刻至Vsync B2信号期间接收到拖拽操作,列表项A1基于拖拽操作的位移变化而变化。
可以理解的是,t2时刻触发交换时,终端设备还确定有列表项A1复位的位置和列表项A2复位的位置、以及列表项A1的卡片类型、列表项A2的卡片类型。列表项A1复位的位置为A1(交换)=A1(t1)+HA2(t1)。列表项A2复位的位置为A2(交换)=A2(t1)-HA1(t1)。列表项A1的卡片类型与列表项A2的卡片类型也发生交换。
示例性的,卡片类型包括类型1、类型2、类型3。若列表中的第一项为类型1,列表中的最后一项为类型3,列表中的其他列表项为类型2。t2时刻触发交换时,列表项A2为列表中的第一项,卡片类型为类型1、列表项A1为列表中的第二项,卡片类型为类型2、列表项A3为列表中的第三项,卡片类型为类型2、列表项A4为列表中的最后一项,卡片类型为类型3。
可以理解的是,在拖拽排序的过程中,终端设备会多次接收到move事件。在拖拽排序的过程中,还可能会触发多次交换。当终端设备触发交换后,基于上次交换确定的各个列表项的位置确定,相邻列表项以及交换条件。
可能的实现方式一中,以终端设备继续接收到向下的移动操作,在拖拽超过相邻列表项的远离选中的列表项的边缘位置时触发交换为例,若触发交换的move事件对应的坐标为y2,新接收到的move事件对应的坐标为y3,列表项A3的高度为HA3
若y3-y2>0,与列表项A1在位移方向上相邻的列表项为列表项A3。当y3-y2<HA3时,终端设备未触发交换,终端设备基于A1(t2)绘制渲染图像。终端设备基于A1(t2)绘制渲染的图像可以如图7中的a所示。相比较于图7所示的界面,列表项A1的位置发生变化。
当y3-y2>0,且y3-y2>HA3时,则t3时刻触发列表项交换,终端设备执行交换动效。列表项A3的位置发生变化。以交换特效的时长为Tc为例,则在t3时刻后的Tc时长内列表项A3的位置上移,上移距离与列表项A1的高度一致。
示例性的,图8为本申请实施例提供的一种终端设备的界面示意图。如图8所示,图8中的a所示的界面为t3时刻对应的界面。
t3时刻后,当Vsync C1信号到来时,终端设备基于Vsync C1信号的时间戳c1确定列表项A3的位置,以及列表项A3的圆角值。若t3<c1≤t3+Tc,列表项A3的位置为终端设备基于Vsync A2信号绘制渲染的图像可以如图8中的b所示。相比较于图7所示的界面,图8中的b所示的列表项A3的位置改变。
当Vsync C2信号到来时,终端设备基于Vsync C2信号的时间戳c2确定列表项A3的位置,以及列表项A3的圆角值。若t3+Tc<b3,列表项A3的位置为A1(交换),列表项A2的位置圆角值为:Radiuslb(A2,t)=Radiusrb(A2,t)=Thrr1。终端设备基于Vsync B2信号绘制渲染的图像可以如图8中的c所示。相比较于图8中的b所示的界面,图8中的c所示的列表项A3的位置改变。
可能的实现方式二中,以终端设备在t2时刻后接收到向上的移动操作,在拖拽至相邻列表项的远离选中的列表项的边缘位置时触发交换为例,若触发交换的move事件对应的坐标为y2,新接收到的move事件对应的坐标为y4,列表项A2的高度为HA2
若y4-y2<0,与列表项A1在位移方向上相邻的列表项为列表项A2。当y2-y4<HA2时,终端设备未触发交换,终端设备基于A1(t2)绘制渲染图像。终端设备基于A1(t2)绘制渲染的图像可以如图7中的a所示。相比较于图7所示的界面,列表项A1的位置发生变化。
当y4-y2<0,且y2-y4>HA2时,则触发列表项交换,终端设备执行交换动效。列表项A2的位置再次发生变化。以交换特效的时长为Tc为例,则列表项A2的位置下移,下移距离与列表项A1的高度一致。相应的,列表项A2的圆角值也发生变化。
终端设备更新列表项A1复位的位置为A1(交换)=A1(t1)+HA2(t1)+HA3(t1)。列表项A3复位的位置为A3(交换)=A1(t1)-HA1(t1)
可以理解的是,当终端设备多次触发交换时,基于最近一次交换后的数据,计算交换的列表项的位置、外观(交换后的卡片类型)等。计算方式与第一次计算方式类似,此处不再详细赘述。
可以理解的是,当选中的列表项与列表中的第一项或者最后一项交换后,选中的列表项为列表中的第一项或者最后一项,若再次触发交换,则交换的列表项的圆角可能会发生变化。
下面结合图9对拖拽操作结束时列表项的复位的情况进行说明。
如图9所示,S422、当终端设备接收到用户手指的抬起操作时,页面线程经应用程序框架层从内核层获取到up事件。
up事件中包括第三触控坐标和up事件对应的时间。
S423、页面线程将up事件分发至列表控件。
S424、列表控件将up事件分发至拖拽动效辅助类。
S425、拖拽动效辅助类基于up事件中的第三触控坐标确定up事件对应的时间之后的第三预设时长内的选中的列表项的尺寸大小和/或圆角值,以及选中的列表项的位置。
下面对选中的列表项中的尺寸变化进行说明。
以up事件对应的时间为t4时刻,且t4时刻之后的第三预设时长内选中的列表项的尺寸恢复为down事件之前的尺寸为例,t4时刻之后,选中的列表项的尺寸大小满足:
t4<t≤t4+Td。
其中,Scale(Am,t)为t时刻列表项Am的大小,ThrScale2为最大放大百分比,Td为复位动效的总时长。
下面对选中的列表项中的外观变化进行说明。
以最后一次交换的列表An为列表中的第一项为例,选中的列表项的四角的弧度满足:Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1t4<t≤t4+Td。
以最后一次交换的列表An为列表中的最后一项为例,选中的列表项的四角的弧度满足:Radiuslt(Am,t)=Radiusrt(Am,t)=Thrr1t4<t≤t4+Td。
以最后一次交换的列表An既不为列表中的第一项,也不为列表中的最后一项为例,选中的列表项的四角的弧度满足:
下面对选中的列表项中的位置变化进行说明。
若未发生交换,t4<t≤t4+Td。
若发生交换,t4<t≤t4+Td
以最近一次交换为t2时刻为例,选中的列表项中的位置变化为 t4<t≤t4+Td。若选中的列表项Am与被交换的列表项An的尺寸大小一致,/>t4<t≤t4+Td;若选中的列表项Am与被交换的列表项An的尺寸大小不一致,且第一触控坐标与第二触控坐标之间的位移大于零时t4<t≤t4+Td;若选中的列表项Am与被交换的列表项An的尺寸大小不一致,且第一触控坐标与第二触控坐标之间的位移小于零时,/>t4<t≤t4+Td。
S426、拖拽动效辅助类向卡片化装饰器发送选中的列表项的尺寸大小和/或圆角值,以及选中的列表项的位置。
S427、卡片化装饰器基于选中的列表项的尺寸大小和/或圆角值,以及选中的列表项的位置,确定列表项的布局信息。
列表项的布局包括但不限于:列表项之间的间距、背景显示区域、分隔线的位置等。
S428、卡片化装饰器将列表项的布局信息发送至列表控件。
S429、列表控件基于列表项的布局信息绘制渲染列表区域的图像。
S430、页面线程显示up事件及其之后第三预设时长之内的界面。
可以理解的是,上述图4所示的实施例是以排序中发生一次列表项交换为例进行说明的。在拖拽排序的过程中,列表项可能发生多次交换。此处不做限定。
示例性的,图10为本申请实施例提供的一种终端设备的界面示意图。如图10所示,
t4时刻,当终端设备在图7中的a所示的列表界面接收到抬起操作时,基于抬起操作执行复位动效。图10中的a所示的界面为t4时刻对应的界面。
以t4时刻时列表项A1的位置为A1(t4)为例,列表项A1的位置发生变化。以复位特效的时长为Td为例,则在t4时刻后的Td时长内列表项A1的位置移动至最近一次交换后计算的复位位置。若未触发交换,则列表项A1的位置移动至初始位置,即A1(t1)。复位动效可能还包括圆角值变化。
t4时刻后,当Vsync D1信号到来时,终端设备基于Vsync D1信号的时间戳d1确定列表项A1的位置,以及列表项A1的圆角值。
若拖拽过程中列表项A1和列表项A2交换,t4<d1≤t4+Tc,列表项A1的位置为即/>列表项A1的尺寸大小为:列表项A1的圆角值为:终端设备基于Vsync D2信号绘制渲染的图像可以如图10中的b所示。相比较于图10中的a所示的界面,图10中的b所示的列表项A1的位置改变,列表项A1的尺寸大小与圆角值均减小。
当Vsync D2信号到来时,终端设备基于Vsync D2信号的时间戳d2确定列表项A1的位置,以及列表项A2的圆角值。若t4+Td<d2,列表项A1的位置为A1(t1)-HA2(t1),列表项A1的尺寸大小为Scale(A1,t1),列表项A1的位置圆角值为:Radiuslb(A1,d2)=Radiusrb(A1,d2)=Radiuslt(A1,d2)=Radiusrt(A1,d2)=0。终端设备基于Vsync D2信号绘制渲染的图像可以如图10中的c所示。相比较于图10中的b所示的界面,图10中的c所示的列表项A2的位置改变,列表项A2的左上角和右上角的圆角值继续减小。后续若未再次接收到拖拽操作,列表中各个列表项的位置、大小、圆角值等均不再变化。
可以理解的是,若拖拽过程中仅发生列表项A1和列表项A2交换,t4<d1≤t4+Tc,列表项A1的位置为即/>列表项A1的尺寸大小为:/> 列表项A1的圆角值为:/>
当Vsync D2信号到来时,终端设备基于Vsync D2信号的时间戳d2确定列表项A1的位置,以及列表项A2的圆角值。若t4+Td<d2,列表项A1的位置为A1(t1)-HA2(t1),列表项A1的尺寸大小为Scale(A1,t1),列表项A1的位置圆角值为:Radiuslb(A1,d2)=Radiusrb(A1,d2)=Radiuslt(A1,d2)=Radiusrt(A1,d2)=0。后续若未再次接收到拖拽操作,列表中各个列表项的位置、大小、圆角值等均不再变化。
示例性的,图11为本申请实施例提供的一种列表排序方法的流程示意图。如图11所示,方法包括:
S1101、终端设备在接收到输入事件后,判断是否长按。
按压时间超过阈值时,确认发生长按事件。若按压时间未达到阈值,未发生长按事件。这样,可以减少误操作。
S1102、当发生长按事件时,判断选中区域。
基于按压的位置确认选中区域,进而确认选中的列表项。
S1103、记录选中的列表项。
S1104、执行选中动效。
执行选中动效时,选中的列表项的尺寸和/或外观发生变化。选中的列表项的尺寸和/或外观的具体变化可以参照图4中相关说明,此处不再赘述。
S1105、更新选中的列表项的位置。
选中的列表项的位置与触控坐标相关。选中的列表项的位置可以参照上述相关说明,此处不再赘述。
S1106、触发列表重绘。
S1107、是否超过交换值。
交换值可以参照上述图6中相关说明,此处不再赘述。
当触发交换时,终端设备执行S1108-S1112;当未触发交换时,终端设备执行S1105和S1106。
S1108、当超过交换值时,触发数据交换。
S1109、通知列表更新,执行交换动效。
执行复位动效时,交换的列表项的尺寸和/或外观发生变化。具体变化可以参照图6中相关说明,此处不再赘述。
S1110、是否离手。
终端设备是否接收到up事件。
当未离手时,终端设备执行S1105-S1107。当离手时,终端设备执行S1111和S1112。
S1111、当离手时,执行复位动效。
执行复位动效时,选中的列表项的尺寸和/或外观发生变化。具体变化可以参照图9中相关说明,此处不再赘述。
S1112、触发列表重绘。
终端设备基于离手后确定的选中的列表项的尺寸和/或外观绘制渲染列表。
这样,终端设备在拖拽排序时,增加相应动效。在选取列表项时,增加选中特效,方便用户确认选中的列表项,减少误排序的情况。在列表项交换时,增加交换动效,方便用户确认交换后的位置;在结束拖拽时,增加复位动效,增加用户体验。
示例性的,图12为本申请实施例提供的一种列表排序方法流程示意图。如图12所示,方法包括:
S1201、第一时刻,终端设备接收到按压down事件。
S1202、终端设备基于down事件控制第一列表项从第一尺寸变为第二尺寸。
本申请实施例中,第一列表项与down事件对应的第一触控坐标相对应;第二尺寸大于第一尺寸。
可以理解的是,第一列表项对应于上文中选中的列表项。第一时刻可以为上文中t1时刻。示例性的,第一列表项的尺寸和/或外观的具体变化可以参照图4中相关说明,此处不再赘述。
S1203、第二时刻,终端设备接收到移动move事件。
第二时刻可以为上文中t2时刻。
S1204、终端设备基于move事件控制第一列表项从第一位置移动至第二位置。
本申请实施例中,第二位置与move事件对应的第二触控坐标相关。第二位置可以参照上述相关说明,此处不再赘述。
S1205、第三时刻,终端设备接收到抬起up事件。
第三时刻可以为上文中t4时刻。
S1206、终端设备基于up事件控制第一列表项从第二尺寸变为第一尺寸,以及控制第一列表项从第二位置移动至第三位置。
本申请实施例中,第一时刻早于第二时刻,第二时刻早于第三时刻。第一列表项的尺寸和/或外观的具体变化、第三位置等可以参照上述相关说明,此处不再赘述。
可以理解的是,终端设备可以多次接收到move事件。示例性的,第四时刻,终端设备接收到移动move事件。第四时刻可以对应于上文中的t3时刻。
这样,在拖拽前期(接收到down事件后)调整选中的列表项的尺寸,进行按压反馈,方便用户确认选中的列表项。在拖拽时(接收到move事件)基于触控坐标调整选中的列表项的位置,进行排序。在拖拽结束时(接收到up事件后)调整选中的列表项的尺寸为原尺寸,结束排序。这样,通过选中的列表项的尺寸的变化,进行按压反馈,方便用户确认选中的列表项,在拖拽结束时,恢复至原尺寸,提升用户体验。
可选的,终端设备基于down事件,控制第一列表项从第一尺寸变为第二尺寸,包括:终端设备基于down事件控制第一列表项在第一预设时长内从第一尺寸缩小至第三尺寸,再从第三尺寸放大至第二尺寸。
这样,先缩小后放大,选中的列表项的变化更加明显,方便用户确认,提升用户体验。
可选的,第一列表项的从第一尺寸向第二尺寸变化时的尺寸满足: Scale(Am,t)=ThrScale2*Scale(Am,t1),t1+Ta+Tb<t;
其中,Am为第一列表项,Scale(Am,t)为t时刻第一列表项Am的尺寸,Scale(Am,t1)为第一尺寸,ThrScale1为最大缩小百分比,t1为第一时刻,Ta为缩小动效的总时长,ThrScale2为最大放大百分比,Tb为放大动效的总时长,Ta与Tb之和为第一预设时长。
这样,可以确定第一列表项的尺寸,方便终端设备控制确定第一列表项的布局等,易于实现。
可选的,当第二触控坐标与第一触控坐标在列表方向上的距离小于交换值时,第三位置为第一位置;或者,当第二触控坐标与第一触控坐标在列表方向上的距离大于交换值时,第三位置与第二列表项在列表方向上的高度相关,第二列表项在移动方向上与第一列表项相邻的列表项;交换值与第二列表项在列表方向上的高度相关,或者与第二列表项的位置相关。
这样,在触发交换后,选中的列表项的复位的位置发生变化,实现列表排序未触发交换,选中的列表项的复位的位置不变。
可选的,交换值为第四位置与第一位置之间的距离,第四位置为第二列表项在第一时刻的位置;或者,交换值为第二列表项在列表方向上的高度。
这样,可以实现在相邻列表项的中间位置时触发交换,或者在相邻列表项边缘位置时触发交换。
可选的,方法还包括:当第二触控坐标与第一触控坐标在列表方向上的距离大于交换值时,终端设备控制第二列表项移动至第五位置,并保存第三位置。
这样,在触发交换后,终端设备控制第二列表项移动完成交换,保存选中的列表项交换后的位置,方便后续进行复位。
可选的,当第二触控坐标与第一触控坐标之差大于零时,第五位置为第四位置与第一列表项的高度之差;第三位置为第一位置与第二列表项的高度之和;当第二触控坐标与第一触控坐标之差小于零时,第五位置为第四位置与第一列表项的高度之和;第三位置为第一位置与第二列表项的高度之差。
这样,确定交换后的位置,方便终端设备进行后续的复位等。
可选的,终端设备控制第二列表项从第四位置移动至第五位置,并保存第三位置,包括:终端设备保存第三位置,并控制第二列表项在第二预设时长内移动至第五位置。
这样,保存交换后的位置,方便终端设备后续计算。
可选的,第二时刻后,第二列表项的位置满足:当第二触控坐标与第一触控坐标之差大于零时,t2<t≤t2+Tc;当第二触控坐标与第一触控坐标之差大于零时,/>t2<t≤t2+Tc;
其中,An(t)为第二列表项在t时刻的位置,An(t1)为第四位置,t2为第二时刻,HAm(t1)为第一时刻第一列表项Am在列表方向上的高度,Tc为第二预设时长。
这样,可以确定第二列表项的位置,方便终端设备控制确定第二列表项的布局等,易于实现。
可选的,终端设备基于up事件控制第一列表项从第二尺寸变为第一尺寸,包括:终端设备基于up事件,控制第一列表项在第三预设时长内从第二尺寸变为第一尺寸。
这样,第一列表项在拖拽结束后(up事件)恢复至原尺寸。
可选的,第三时刻后,第一列表项的尺寸满足: t4<t≤t4+Td。
其中,Scale(Am,t)为t时刻第一列表项Am的大小,t4为第三时刻,ThrScale2为最大放大百分比,Td为第三预设时长。
这样,可以确定第一列表项的尺寸,方便终端设备控制确定第一列表项的布局等,易于实现。
可选的,第三位置为第一位置时,第一列表项的位置满足: t4<t≤t4+Td;或者,第三位置为第四位置时,第一列表项的位置满足:t4<t≤t4+Td;
其中,Am(t)为第一列表项在t时刻的位置,Am(t4)为第一列表项在第三时刻的位置,Am(t1)为第一位置,Am(交换)为第四位置。Td为第三预设时长。
可选的,方法还包括:终端设备基于down事件,控制第一列表项的圆角值变为第一值。
这样,在按压时还可以进行外观的变化,方便用户确认选中的列表项,提升用户体验。
可选的,当第一列表项为第一类型时,第一列表项的圆角值满足:Radiuslt(Am,t)=Radiusrt(Am,t)=Thrr1t1<t≤t1+Ta;Radiusmt(A1,t)=Radiusrt(A1,t)=Radiuslb(A1,t)=Radiusrb(A1,t)=Thrr1,t1+Ta<t;当第一列表项为第二类型时,第一列表项的圆角值满足:Radiuslt(Am,t)=Radiusrt(Am,t)t1<t≤t1+Ta;Radiuslt(Am,t)=Radiusrt(Am,t)=Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1,t1+Ta<t;当第一列表项为第三类型时,第一列表项的圆角值满足:/> Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1,t1<t≤t1+Ta;Radiuslt(Am,t)=Radiusrt(Am,t)=Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1,t1+Ta<t;/>
其中,Thrr1为固定值,用于表示最大圆角,Ta为圆角值变化的总时长,Radiuslt(Am,t)、Radiusrt(Am,t)、Radiuslb(Am,t)、Radiusrb(Am,t)分别为列表项Am在t时刻左上角对应的圆角值、右上角对应的圆角值、左下角对应的圆角值、右下角对应的圆角值。
这样,第一列表项可以为列表中的任一列表项。不同的类型,圆角的变化不同,提升用户体验。
可选的,终端设备基于up事件,控制第一列表项的圆角值变化。
可选的,方法还包括:当第二触控坐标与第一触控坐标在列表方向上的距离小于交换值时,终端设备更新第一列表项的类型;当第一列表项为第一类型时,第一列表项的圆角值满足:Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1t4<t≤t4+Td;当第一列表项为第三类型时,第一列表项的圆角值满足:Radiuslt(Am,t)=Radiusrt(Am,t)=Thrr1,/> t4<t≤t4+Td;当第一列表项为第二类型时,第一列表项的圆角值满足:/>
这样,触发交换时,第一列表项的类型和第二列表项的类型也随之交换。
可选的,当第二触控坐标与第一触控坐标在列表方向上的距离小于交换值,且第一列表项的类型与第二列表项的类型不同时,第二列表项的圆角值变化;当第二触控坐标与第一触控坐标在列表方向上的距离小于交换值,且第一列表项的类型与第二列表项的类型相同时,第二列表项的圆角值不变。
可选的,当第一列表项为第一类型时,第二列表项的圆角值满足: t2<t≤t2+Tc;Radiuslb(An,t)=Radiusrb(An,t)=0,t2<t≤t2+Tc;当第一列表项为第三类型时,第二列表项的圆角值满足:/> t2<t≤t2+Tc;Radiuslt(An,t)=Radiusrt(An,t)=0,t2<t≤t2+Tc;当第二列表项为第一类型时,第二列表项的圆角值满足:/> t2<t≤t2+Tc;Radiuslb(An,t)=Radiusrb(An,t)=0,t2<t≤t2+Tc;当第二列表项为第三类型时,第二列表项的圆角值满足:/> t2<t≤t2+Tc;Radiuslt(An,t)=Radiusrt(An,t)=0,t2<t≤t2+Tc。
可选的,终端设备包括:页面线程、列表控件、卡片化装饰器、拖拽动效辅助类;终端设备接收到down事件,包括:页面线程接收到down事件;终端设备基于down事件控制第一列表项从第一尺寸变为第二尺寸,包括:页面线程经列表控件将down事件下发至拖拽动效辅助类;拖拽动效辅助类基于down事件中的第一触控坐标确定第一列表项;拖拽动效辅助类确定down事件之后的第一列表项的尺寸;卡片化装饰器基于down事件之后的第一列表项的尺寸确定列表的第一布局信息;列表控件基于第一布局信息渲染列表的区域的第一图像;终端设备显示第一图像。
这样,终端设备可以计算down事件后第一列表项的尺寸,并基于该尺寸进行绘制渲染图像以显示。down事件后,选中的列表项的尺寸的变化,进行按压反馈,方便用户确认选中的列表项。
可选的,方法还包括:拖拽动效辅助类确定down事件之后的第一列表项的圆角值;卡片化装饰器基于down事件之后的第一列表项的尺寸确定列表的第一布局信息,包括:卡片化装饰器基于down事件之后的第一列表项的尺寸,以及down事件之后的第一列表项的圆角值,确定第一布局信息。
这样,终端设备可以计算down事件后第一列表项的圆角值,并基于该圆角值进行绘制渲染图像以显示。down事件后,选中的列表项的外观的变化,进行按压反馈,方便用户确认选中的列表项。
可选的,终端设备接收到move事件,包括:页面线程接收到move事件;终端设备基于move事件控制第一列表项从第一位置移动至第二位置,包括:页面线程经列表控件将move事件下发至拖拽动效辅助类;拖拽动效辅助类确定第二触控坐标与第一触控坐标在列表方向上的距离,以及交换值;当第二触控坐标与第一触控坐标在列表方向上的距离大于交换值时,拖拽动效辅助类确定move事件后第二列表项的位置,以及第三位置;卡片化装饰器基于move事件后第二列表项的位置确定列表的第二布局信息;列表控件基于第二布局信息渲染列表的区域的第二图像;终端设备显示第二图像。
可选的,方法还包括:拖拽动效辅助类确定第二列表项的圆角值;卡片化装饰器基于move事件后第二列表项的位置确定列表的第二布局信息,包括:卡片化装饰器基于move事件后第二列表项的位置,以及第二列表项的圆角值,确定第二布局信息。
可选的,终端设备接收到up事件,包括:页面线程接收到up事件;终端设备基于up事件控制第一列表项从第二尺寸变为第一尺寸,包括:页面线程经列表控件将up事件下发至拖拽动效辅助类;拖拽动效辅助类确定up事件之后的第一列表项的尺寸;卡片化装饰器基于up事件之后的第一列表项的尺寸确定列表的第三布局信息;列表控件基于第三布局信息渲染列表的区域的第三图像;终端设备显示第三图像。
这样,终端设备可以计算up事件后第一列表项的尺寸,并基于该尺寸进行绘制渲染图像以显示。up事件后,选中的列表项的尺寸恢复至原尺寸,拖拽排序结束。
可选的,拖拽动效辅助类确定up事件之后的第一列表项的圆角值;卡片化装饰器基于up事件之后的第一列表项的尺寸确定列表的第三布局信息,包括:卡片化装饰器基于up事件之后的第一列表项的尺寸,以及up事件之后的第一列表项的圆角值,确定第三布局信息。
这样,终端设备可以计算up事件后第一列表项的圆角值,并基于该圆角值进行绘制渲染图像以显示。
上面已对本申请实施例的设备列表排序方法进行了说明,下面对本申请实施例提供的执行上述列表排序方法的装置进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本申请实施例提供的相关装置可以执行上述列表排序方法中的步骤。
如图13所示,图13为本申请实施例提供的一种列表排序装置的结构示意图,该列表排序装置可以是本申请实施例中的终端设备,也可以是终端设备内的芯片或芯片系统。
如图13所示,列表排序装置2100可以用于通信设备、电路、硬件组件或者芯片中,该列表排序装置包括:显示单元2101、以及处理单元2102。其中,显示单元2101用于支持列表排序装置2100执行的显示的步骤;处理单元2102用于支持列表排序装置2100执行信息处理的步骤。
可能的实现方式中,该列表排序装置2100中也可以包括通信单元2103。具体的,通信单元用于支持列表排序装置2100执行数据的发送以及数据的接收的步骤。其中,该通信单元2103可以是输入或者输出接口、管脚或者电路等。
可能的实施例中,列表排序装置还可以包括:存储单元2104。处理单元2102、存储单元2104通过线路相连。存储单元2104可以包括一个或者多个存储器,存储器可以是一个或者多个设备、电路中用于存储程序或者数据的器件。存储单元2104可以独立存在,通过通信线路与列表排序装置具有的处理单元2102相连。存储单元2104也可以和处理单元2102集成在一起。
存储单元2104可以存储终端设备中的方法的计算机执行指令,以使处理单元2102执行上述实施例中的方法。存储单元2104可以是寄存器、缓存或者RAM等,存储单元2104可以和处理单元2102集成在一起。存储单元2104可以是只读存储器(read-only memory,ROM)或者可存储静态信息和指令的其他类型的静态存储设备,存储单元2104可以与处理单元2102相独立。
本申请实施例提供的列表排序方法,可以应用在具备通信功能的电子设备中。电子设备包括终端设备,终端设备的具体设备形态等可以参照上述相关说明,此处不再赘述。
本申请实施例提供一种终端设备,该终端设备包括:包括:处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得终端设备执行上述方法。
本申请实施例提供一种芯片。芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行上述实施例中的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质。计算机可读存储介质存储有计算机程序。计算机程序被处理器执行时实现上述方法。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或者在计算机可读介质上传输。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
一种可能的实现方式中,计算机可读介质可以包括RAM,ROM,只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行上述方法。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (22)

1.一种列表排序方法,其特征在于,应用于终端设备,所述方法包括:
第一时刻,所述终端设备接收到按压down事件;
所述终端设备基于所述down事件控制第一列表项从第一尺寸变为第二尺寸,所述第一列表项与所述down事件对应的第一触控坐标相对应;所述第二尺寸大于所述第一尺寸;
第二时刻,所述终端设备接收到移动move事件;
所述终端设备基于所述move事件控制所述第一列表项从第一位置移动至第二位置,所述第二位置与所述move事件对应的第二触控坐标相关;
第三时刻,所述终端设备接收到抬起up事件;
所述终端设备基于所述up事件控制所述第一列表项从所述第二尺寸变为所述第一尺寸,以及控制所述第一列表项从所述第二位置移动至第三位置,所述第一时刻早于所述第二时刻,所述第二时刻早于所述第三时刻;
所述终端设备基于所述down事件,控制所述第一列表项从第一尺寸变为第二尺寸,包括:
终端设备基于所述down事件控制所述第一列表项在第一预设时长内从所述第一尺寸缩小至第三尺寸,再从所述第三尺寸放大至所述第二尺寸;
所述第一时刻,所述终端设备还基于所述down事件,控制所述第一列表项的圆角值变为第一值;其中,不同类型的列表项的圆角的变化不同;
所述终端设备接收到move事件,包括:页面线程接收到所述move事件;
所述终端设备基于所述move事件控制所述第一列表项从第一位置移动至第二位置,包括:所述页面线程经列表控件将所述move事件下发至拖拽动效辅助类;
所述拖拽动效辅助类确定所述第二触控坐标与所述第一触控坐标在列表方向上的距离,以及交换值;
当所述第二触控坐标与所述第一触控坐标在列表方向上的距离大于所述交换值时,所述拖拽动效辅助类确定所述move事件后第二列表项的位置、所述第三位置以及所述第二列表项的圆角值;其中,所述第二列表项为在移动方向上与所述第一列表项相邻的列表项;
卡片化装饰器基于所述move事件后第二列表项的位置,以及所述第二列表项的圆角值,确定列表的第二布局信息;其中,所述布局信息包括:所述列表项之间的间距、背景显示区域和分隔线的位置;
列表控件基于所述第二布局信息渲染所述列表的区域的第二图像;
所述终端设备显示所述第二图像。
2.根据权利要求1所述的方法,其特征在于,所述第一列表项的从所述第一尺寸向所述第二尺寸变化时的尺寸满足:
其中,所述Am为所述第一列表项,所述Scale(Am,t)为t时刻所述第一列表项Am的尺寸,Scale(Am,t1)为所述第一尺寸,所述ThrScale1为最大缩小百分比,所述t1为所述第一时刻,所述Ta为缩小动效的总时长,所述ThrScale2为最大放大百分比,所述Tb为放大动效的总时长,所述Ta与所述Tb之和为所述第一预设时长。
3.根据权利要求1或2所述的方法,其特征在于,
当所述第二触控坐标与所述第一触控坐标在列表方向上的距离小于交换值时,所述第三位置为所述第一位置;
或者,当所述第二触控坐标与所述第一触控坐标在列表方向上的距离大于所述交换值时,所述第三位置与第二列表项在列表方向上的高度相关;
所述交换值与所述第二列表项在列表方向上的高度相关,或者与所述第二列表项的位置相关。
4.根据权利要求3所述的方法,其特征在于,
所述交换值为第四位置与所述第一位置之间的距离,所述第四位置为所述第二列表项在第一时刻的位置;
或者,所述交换值为所述第二列表项在列表方向上的高度。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述第二触控坐标与所述第一触控坐标在列表方向上的距离大于所述交换值时,所述终端设备控制所述第二列表项移动至第五位置,并保存第三位置。
6.根据权利要求5所述的方法,其特征在于,
当所述第二触控坐标与所述第一触控坐标之差大于零时,所述第五位置为所述第四位置与所述第一列表项的高度之差;所述第三位置为所述第一位置与所述第二列表项的高度之和;
当所述第二触控坐标与所述第一触控坐标之差小于零时,所述第五位置为所述第四位置与所述第一列表项的高度之和;所述第三位置为所述第一位置与所述第二列表项的高度之差。
7.根据权利要求6所述的方法,其特征在于,所述终端设备控制所述第二列表项移动至第五位置,并保存第三位置,包括:
所述终端设备保存第三位置,并控制所述第二列表项在第二预设时长内移动至所述第五位置。
8.根据权利要求7所述的方法,其特征在于,所述第二时刻后,所述第二列表项的位置满足:
当所述第二触控坐标与所述第一触控坐标之差大于零时,
当所述第二触控坐标与所述第一触控坐标之差大于零时,
其中,所述An(t)为所述第二列表项在t时刻的位置,所述An(t1)为所述第四位置,所述t2为所述第二时刻,所述HAm(t1)为所述第一时刻所述第一列表项Am在列表方向上的高度,所述Tc为第二预设时长。
9.根据权利要求8所述的方法,其特征在于,所述终端设备基于所述up事件控制所述第一列表项从所述第二尺寸变为所述第一尺寸,包括:
所述终端设备基于所述up事件,控制所述第一列表项在第三预设时长内从所述第二尺寸变为所述第一尺寸。
10.根据权利要求9所述的方法,其特征在于,所述第三时刻后,所述第一列表项的尺寸满足:
其中,所述Scale(Am,t)为t时刻所述第一列表项Am的大小,所述t4为所述第三时刻,所述ThrScale2为最大放大百分比,所述Td为所述第三预设时长。
11.根据权利要求10所述的方法,其特征在于,
所述第三位置为所述第一位置时,所述第一列表项的位置满足:
或者,所述第三位置为所述第四位置时,所述第一列表项的位置满足:
其中,所述Am(t)为所述第一列表项在t时刻的位置,Am(t4)为所述第一列表项在所述第三时刻的位置,所述Am(t1)为所述第一位置,所述Am(交换)为所述第四位置,所述Td为所述第三预设时长。
12.根据权利要求11所述的方法,其特征在于,当所述第一列表项为第一类型时,所述第一列表项的圆角值满足:Radiuslt(Am,t)=Radiusrt(Am,t)=Thrr1
Radiuslt(Am,t)=Radiusrt(Am,t)=Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1,t1+Te<t;
当所述第一列表项为第二类型时,所述第一列表项的圆角值满足:
Radiuslt(Am,t)=Radiusrt(Am,t)=Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1,t1+Te<t;
当所述第一列表项为第三类型时,所述第一列表项的圆角值满足: Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1,t1<t≤t1+Te;
Radiuslt(Am,t)=Radiusrt(Am,t)=Radiuslb(Am,t)=Radiusrb(Am,t)=Thrr1,t1+Ta<t
其中,所述Thrr1为固定值,用于表示最大圆角,所述Te为圆角值变化的总时长,所述Radiuslt(Am,t)、所述Radiusrt(Am,t)、所述Radiuslb(Am,t)、所述Radiusrb(Am,t)分别为所述第一列表项Am在所述t时刻左上角对应的圆角值、右上角对应的圆角值、左下角对应的圆角值、右下角对应的圆角值。
13.根据权利要求12所述的方法,其特征在于,所述终端设备基于所述up事件,控制所述第一列表项的圆角值变化。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
当所述第二触控坐标与所述第一触控坐标在列表方向上的距离大于交换值时,所述终端设备更新所述第一列表项的类型;
当所述第一列表项为第一类型时,所述第一列表项的圆角值满足:Radiusrb(Am,t)=Thrr1,/>t4<t≤t4+Td;
当所述第一列表项为第三类型时,所述第一列表项的圆角值满足:Radiuslt(Am,t)=Radiusrt(Am,t)=Thrr1t4<t≤t4+Td;
当所述第一列表项为第二类型时,所述第一列表项的圆角值满足:
15.根据权利要求14所述的方法,其特征在于,当所述第二触控坐标与所述第一触控坐标在列表方向上的距离大于交换值,且所述第一列表项的类型与所述第二列表项的类型不同时,所述第二列表项的圆角值变化;
当所述第二触控坐标与所述第一触控坐标在列表方向上的距离大于所述交换值,且所述第一列表项的类型与所述第二列表项的类型相同时,所述第二列表项的圆角值不变。
16.根据权利要求15所述的方法,其特征在于,
当所述第一列表项为第一类型时,所述第二列表项的圆角值满足: t2<t≤t2+Tc;Radiuslb(An,t)=Radiusrb(An,t)=0,t2<t≤t2+Tc;
当所述第一列表项为第三类型时,所述第二列表项的圆角值满足: t2<t≤t2+Tc;Radiuslt(An,t)=Radiusrt(An,t)=0,t2<t≤t2+Tc;
当所述第二列表项为第一类型时,所述第二列表项的圆角值满足: t2<t≤t2+Tc;Radiuslb(An,t)=Radiusrb(An,t)=0,t2<t≤t2+Tc;
当所述第二列表项为第三类型时,所述第二列表项的圆角值满足: t2<t≤t2+Tc;Radiuslt(An,t)=Radiusrt(An,t)=0,t2<t≤t2+Tc;
所述Radiuslt(An,t)、所述Radiusrt(An,t)、所述Radiuslb(An,t)、所述Radiusrb(An,t)分别为所述第二列表项An在所述t时刻左上角对应的圆角值、右上角对应的圆角值、左下角对应的圆角值、右下角对应的圆角值。
17.根据权利要求1所述的方法,其特征在于,所述终端设备包括:页面线程、列表控件、卡片化装饰器、拖拽动效辅助类;
所述终端设备接收到down事件,包括:所述页面线程接收到所述down事件;
所述终端设备基于所述down事件控制第一列表项从第一尺寸变为第二尺寸,包括:所述页面线程经所述列表控件将所述down事件下发至所述拖拽动效辅助类;
所述拖拽动效辅助类基于所述down事件中的所述第一触控坐标确定所述第一列表项;
所述拖拽动效辅助类确定所述down事件之后的所述第一列表项的尺寸;
所述卡片化装饰器基于所述down事件之后的所述第一列表项的尺寸确定列表的第一布局信息;
所述列表控件基于所述第一布局信息渲染所述列表的区域的第一图像;
所述终端设备显示所述第一图像。
18.根据权利要求17所述的方法,其特征在于,所述方法还包括:
所述拖拽动效辅助类确定所述down事件之后的所述第一列表项的圆角值;
所述卡片化装饰器基于所述down事件之后的所述第一列表项的尺寸确定列表的第一布局信息,包括:所述卡片化装饰器基于所述down事件之后的所述第一列表项的尺寸,以及所述down事件之后的所述第一列表项的圆角值,确定所述第一布局信息。
19.根据权利要求1所述的方法,其特征在于,
所述终端设备接收到up事件,包括:页面线程接收到所述up事件;
所述终端设备基于所述up事件控制所述第一列表项从所述第二尺寸变为所述第一尺寸,包括:所述页面线程经所述列表控件将所述up事件下发至拖拽动效辅助类;
所述拖拽动效辅助类确定所述up事件之后的所述第一列表项的尺寸;
卡片化装饰器基于所述up事件之后的所述第一列表项的尺寸确定列表的第三布局信息;
列表控件基于所述第三布局信息渲染所述列表的区域的第三图像;
所述终端设备显示所述第三图像。
20.根据权利要求19所述的方法,其特征在于,
所述拖拽动效辅助类确定所述up事件之后的所述第一列表项的圆角值;
所述卡片化装饰器基于所述up事件之后的所述第一列表项的尺寸确定列表的第三布局信息,包括:所述卡片化装饰器基于所述up事件之后的所述第一列表项的尺寸,以及所述up事件之后的所述第一列表项的圆角值,确定所述第三布局信息。
21.一种终端设备,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述终端设备执行如权利要求1-20中任一项所述的方法。
22.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-20任一项所述的方法。
CN202210946080.4A 2022-08-08 2022-08-08 列表排序方法和相关装置 Active CN116088731B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210946080.4A CN116088731B (zh) 2022-08-08 2022-08-08 列表排序方法和相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210946080.4A CN116088731B (zh) 2022-08-08 2022-08-08 列表排序方法和相关装置

Publications (2)

Publication Number Publication Date
CN116088731A CN116088731A (zh) 2023-05-09
CN116088731B true CN116088731B (zh) 2024-04-09

Family

ID=86197944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210946080.4A Active CN116088731B (zh) 2022-08-08 2022-08-08 列表排序方法和相关装置

Country Status (1)

Country Link
CN (1) CN116088731B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151638A (ja) * 2007-12-21 2009-07-09 Canon Inc 情報処理装置及びその制御方法
CN101651738A (zh) * 2008-08-13 2010-02-17 Lg电子株式会社 移动终端以及控制该移动终端操作的方法
CN103838457A (zh) * 2012-11-26 2014-06-04 腾讯科技(深圳)有限公司 一种滤镜列表显示方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151638A (ja) * 2007-12-21 2009-07-09 Canon Inc 情報処理装置及びその制御方法
CN101651738A (zh) * 2008-08-13 2010-02-17 Lg电子株式会社 移动终端以及控制该移动终端操作的方法
CN103838457A (zh) * 2012-11-26 2014-06-04 腾讯科技(深圳)有限公司 一种滤镜列表显示方法及装置

Also Published As

Publication number Publication date
CN116088731A (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
EP4002066A1 (en) Air gesture interaction method and electronic device
EP2592542B1 (en) User interface providing method and apparatus for mobile terminal
US8549431B2 (en) Content display device and content display method
WO2017063324A1 (zh) 一种窗口显示方法及移动终端
EP2793170A2 (en) Objects in screen images
CN110347317B (zh) 一种窗口切换方法、装置、存储介质及交互智能平板
WO2021072926A1 (zh) 文件共享方法、装置、系统、交互智能设备、源端设备及存储介质
CN108694012B (zh) 在屏幕上显示对象的方法和系统
US11435870B2 (en) Input/output controller and input/output control program
JP2000322172A (ja) コンピュータ画面上での2次元ウィンドウの3次元表示
CN102722280A (zh) 控制屏幕移动的方法、装置和终端
TW202002578A (zh) 資訊傳輸與資料處理方法、設備、系統及儲存媒體
KR101891861B1 (ko) 정보 처리 시스템, 정보 처리 시스템의 제어 방법, 및 정보 기억 매체
EP2897032A1 (en) Mobile terminal-based method for side-by-side input of information and mobile terminal
CN102520865A (zh) 一种手机自适应图片剪裁的实现方法
KR20130112629A (ko) 미디어 기기의 메뉴 제어 방법 및 장치와 그 방법에 대한 프로그램 소스를 저장한 기록 매체
CN114023272B (zh) 消除墨水屏残影的方法和终端设备
JP2014044655A (ja) 拡張現実システム、映像合成装置、映像合成方法及びプログラム
AU2018251560A1 (en) Live ink presence for real-time collaboration
CN116088731B (zh) 列表排序方法和相关装置
JP2016038728A (ja) 画像表示装置、画像表示装置の制御方法、及びプログラム
JP2013012063A (ja) 表示制御装置
CN104838345A (zh) 电子装置和菜单显示方法
CN101599263B (zh) 一种移动终端及其屏幕显示界面的显示方法
JP6376591B2 (ja) データ出力装置、データ出力方法及び3次元物体製造システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant