CN107817938B - 实现选择列表滚动的方法、装置、设备及可读存储介质 - Google Patents
实现选择列表滚动的方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN107817938B CN107817938B CN201711184377.7A CN201711184377A CN107817938B CN 107817938 B CN107817938 B CN 107817938B CN 201711184377 A CN201711184377 A CN 201711184377A CN 107817938 B CN107817938 B CN 107817938B
- Authority
- CN
- China
- Prior art keywords
- selection
- offset
- selection list
- lengthened
- list
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0482—Interaction with lists of selectable items, e.g. menus
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例提供一种实现选择列表滚动的方法、装置、设备及计算机可读存储介质。所述方法包括:若接收到选择控件初始化指令,获取所述选择控件对应的原始选择列表和选择窗口的属性参数;根据所述选择窗口的属性参数对所述原始选择列表进行重构得到加长选择列表;监听所述选择控件上的触发信号;根据所述触发信号确定所述加长选择列表的偏移量,其中,所述偏移量为所述加长选择列表相对选择窗口的偏移距离;若所述偏移量满足预设条件,重置所述偏移量以实现所述加长选择列表的连续滚动。本发明实施例可实现选择列表的循环滚动,并且在滚动时不会出现断层的现象,提高了用户选择数据的效率,提升了用户的体验。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种实现选择列表滚动的方法、装置、设备及计算机可读存储介质。
背景技术
应用程序在开发的过程中,经常会使用到日期、时间等选择控件。目前通用的选择控件可定制程度不是很高,很多时候无法满足需求。另外,有些选择控件上对应的数据量很大,当选择控件的数据滚动到最后一条后,再滚动到第一条,需要较长时间,用户选择数据的效率不高。有的选择控件可以实现从最后一条快速的回到第一条,然而会出现断层的现象,即突然从最后一条跳到第一条,导致用户的体验不好。
发明内容
本发明实施例提供了一种实现选择列表滚动的方法、装置、设备及计算机可读存储介质,可以实现选择列表的循环滚动,提高用户选择数据的效率,提升用户的体验。
第一方面,本发明实施例提供了一种实现选择列表滚动的方法,该方法包括:
若接收到选择控件初始化指令,获取所述选择控件对应的原始选择列表和选择窗口的属性参数;
根据所述选择窗口的属性参数对所述原始选择列表进行重构得到加长选择列表;
监听所述选择控件上的触发信号;
根据所述触发信号确定所述加长选择列表的偏移量,其中,所述偏移量为所述加长选择列表相对选择窗口的偏移距离;
判断所述偏移量是否满足预设条件;
若所述偏移量满足预设条件,重置所述偏移量以实现所述加长选择列表的连续滚动。
第二方面,本发明实施例提供了一种实现选择列表滚动的装置,该装置包括用于执行上述第一方面所述的实现选择列表滚动的方法的单元。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储实现实现选择列表滚动的计算机程序,所述处理器用于运行所述存储器中存储的计算机程序,以执行上述第一方面所述的实现选择列表滚动的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,实现上述第一方面所述的实现选择列表滚动的方法。
本发明实施例若所述偏移量满足预设条件,重置所述偏移量以实现选择列表的连续滚动,并且根据选择窗口的属性参数对原始选择列表进行重构得到加长选择列表,使得选择列表滚动到开头和末尾的时候不会出现断层的现象,提高了用户选择数据的效率,提升了用户的体验。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实现选择列表滚动方法的流程示意图;
图2是本发明实施例提供的加长选择列表与选择窗口相对位置的示意图;
图3是本发明实施例提供的一种实现选择列表滚动方法的流程示意图;
图4是本发明实施例提供的一种实现选择列表滚动方法的子流程示意图;
图5是本发明实施例提供的一种实现选择列表滚动的装置的示意性框图;
图6是本发明另一实施例提供的一种实现选择列表滚动的装置的示意性框图;
图7是本发明实施例提供的第二偏移量确定单元的示意性框图;
图8是本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
也应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
也应当理解,尽管术语第一、第二等可以在此用来描述各种元素,但这些元素不应该受限于这些术语。这些术语仅用来将这些元素彼此区分开。例如,在不脱离本发明范围的前提下,第一预设行数可以被称为第二预设行数,并且类似地,第二预设行数可以被称为第一预设行数。第一预设行数和第二预设行数均为预设行数,但它们并非同一预设行数。
具体实现中,本发明实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的便携式通信设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器的终端。然而,应当理解的是,终端可以包括诸如网络接口、物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
图1是本发明实施例提供的一种实现选择列表滚动的方法的流程示意图。该方法运行于有选择控件的终端中。如图1所示,该方法包括S101-S107。
S101,若接收到选择控件初始化指令,获取选择控件对应的原始选择列表和对应的选择窗口的属性参数。
选择控件包括时间选择控件、日历选择控件,或者其他类型的选择控件。选择控件可以存在于其他应用程序所在的网页中;也可以是单独的存在,如选择控件本身就是个应用程序。若选择控件存在于其他应用程序所在的网页中,当打开该网页时,会产生选择控件初始化指令。若选择控件本身就是个应用程序,那么打开该应用程序时,会产生选择控件初始化指令。若接收到选择控件初始化指令,获取选择控件对应的原始选择列表。其中,选择控件对应的原始选择列表可以是时间选择列表,时间包括年、月、日、时、分、秒中的任意一个或多个,也可以是其他类型的选择列表,如考试分数等级线列表。若选择控件对应的原始选择列表有一个,那么获取该一个原始选择列表,若选择控件对应的原始选择列表有多个,那么获取该多个原始选择列表。具体地,在终端内或者终端内存中获取选择控件对应的原始选择列表和对应的选择窗口的属性参数。选择控件对应的原始选择列表和对应的选择窗口在选择控件创建的时候生成,原始选择列表中的数据以数组的形式存储。如对于只有秒的时间选择列表,原始选择列表只有一个,原始选择列表中的数据包括0-59的整数,对于有时、分的时间选择列表,原始选择列表有两个,分别对应的是时钟选择列表、分钟选择列表,时钟选择列表中的数据包括1-12的整数、分钟选择列表中的数据包括0-59的整数。
可理解地,在选择窗口中显示有选择列表中可选择的选项。选择窗口的属性参数包括选择窗口的高度或者宽度,选择窗口中每一行显示的高度或者每一列显示的宽度,以及选择窗口中可显示的行数或者可显示的列数。可以理解地,对于一个固定方向而言,若选择列表中的所有数据是竖着连续显示在选择窗口中,选择窗口的属性参数包括选择窗口的高度、选择窗口中每一行显示的高度、选择窗口中可显示的行数。其中,每一行显示的高度指的是选择窗口中显示选择列表上的一个选项的高度,可显示的行数也可以理解为选择窗口中显示的可选择的选项的个数。若选择列表中的所有数据是横着连续显示在选择窗口中,选择窗口的属性参数包括选择窗口的宽度、选择窗口中每一列显示的宽度及选择窗口中可显示的列数。其中,每一列显示的宽度指的是选择窗口中显示选择列表上的一个选项的宽度。
S102,根据选择窗口的属性参数对原始选择列表进行重构得到加长选择列表。
根据选择窗口中可显示的行数或者可显示的列数,以及原始选择列表,将选择列表加长以进行重构得到加长选择列表,如在数组的预设位置插入新的数值,其中,预设位置包括选择列表的开头和选择列表的末尾,插入新的数值的总个数为可显示的行数或者可显示的列数。
具体地,若选择列表中的所有数据竖着连续显示在选择窗口中,若选择窗口中可显示的行数为N,根据选择窗口的属性参数对原始选择列表进行重构得到加长选择列表,包括:在原始选择列表的开头添加原始选择列表末尾最后N1行的选项以得到一中间选择列表,在中间选择列表的末尾添加原始选择列表开头最前N2行的选项,以重构得到加长选择列表,其中,N1=N/2,N2=N-N1,N1与N2都是整数。N1=N/2可以理解为N除以2后向下取整。若可显示的行数为偶数,那么N1与N2相同,都为可显示的行数除以2。如显示的行数为4,那么N1和N2都为2。若可显示的行数为奇数,那么N1+1=N2。如可显示的行数为5,那么N1为2,N2为3。在其他实施例中,N1=N/2可以理解为N除以2后向上取整,那么N1=1+N2。重构原始选择列表以得到加长选择列表的过程举例如下,若原始选择列表为表示月份的时间选择列表,选择窗口中可显示的行数为4,存储该时间选择列表的数组中的数据分别为1、2、3、4、5、6、7、8、9、10、11、12。在时间选择列表的开头添加时间选择列表末尾最后显示的2行选项,即加上11、12得到中间选择列表,在中间选择列表的末尾添加时间选择列表开头最前显示的2行选项,即加上1、2,最后得到的加长选择列表为:11、12、1、2、3、4、5、6、7、8、9、10、11、12、1、2。
以上步骤S101-S102是在接收到选择控件初始化指令后完成的,可以理解为,步骤S101-S102是选择控件初始化时完成的操作。若选择控件存在于其他应用程序所在的网页中,那么打开该网页后,步骤S101-S102对应的操作已经完成。若选择控件本身就是个应用程序,那么打开该应用程序后,步骤S101-S102对应的操作已经完成。步骤S101-S102对应的操作完成后,得到对应的选择控件。
S103,监听选择控件上的触发信号。
得到对应的选择控件之后,可以监听终端用户作用在选择控件上的触发信号,并根据监听到的触发信号进行后续处理。终端用户作用在选择控件上的触发信号包括但不限于以下一项或多项:用户手指在显示器上显示的选择控件对应位置的触摸操作如滑动触摸操作、鼠标在选择控件对应位置的点击动作和/或移动动作。
S104,根据触发信号确定加长选择列表的偏移量,其中,偏移量为加长选择列表相对选择窗口的偏移距离。
根据触发信号确定加长选择列表当前的偏移量,如根据触发信号对应的移动距离解析并获取加长选择列表当前的偏移量。其中,偏移量可以为加长选择列表顶部相对于选择窗口顶部的偏移距离,也可以为加长选择列表底部相对于选择窗口底部的偏移距离,还可以为加长选择列表的任何点相对于选择窗口顶部或者底部的偏移距离。需要注意的是,上述提到的选择窗口顶部或者底部仅仅是加长选择列表滚动时的参考点,也可以选择窗口中的其他点作为加长选择列表滚动时的参考点。
在本实施例中,偏移量为加长选择列表顶部相对于选择窗口顶部的偏移距离。选择窗口不动,加长选择列表可以在某些方向上滚动,如往上往下滚动。因此,若有向右为x轴正方向、向上为y轴正方向的坐标轴,那么加长选择列表在滚动方向上的坐标值有变化,而在坐标轴的另一方向上的坐标值并没有变化,如在上下方向上移动时,x轴上的坐标值并没有变化,而y轴上的坐标值有变化,因此使用偏移量来表示加长选择列表出现的坐标变化。
需要注意的是,在本实施例中,偏移距离一直是以选择窗口顶部为参考点的。当加长选择列表顶部滚动到选择窗口顶部之上时,偏移量大于零,加长选择列表顶部离选择窗口顶部越远,偏移量越大;当加长选择列表顶部滚动到选择窗口顶部之下时,偏移量小于零。具体地,当加长选择列表顶部滚动到与选择窗口顶部对齐时,加长选择列表顶部相对于选择窗口顶部的偏移距离,即偏移量为零。如图2a为加长选择列表顶部滚动到与选择窗口顶部对齐的示意图,h1表示加长选择列表的高度,h2表示选择窗口的高度。当加长选择列表底部滚动到与选择窗口底部对齐时,加长选择列表顶部相对于选择窗口顶部的偏移距离,即偏移量为加长选择列表的高度与选择选择窗口高度之差。如图2b为加长选择列表底部滚动到与选择窗口底部对齐的示意图,h1表示加长选择列表的高度,h2表示选择窗口的高度,h表示偏移量,该偏移量大于零。若加长选择列表的高度为20cm,选择窗口高度为5cm,当加长选择列表顶部滚动到与选择窗口顶部对齐时,偏移量为零;当加长选择列表底部滚动到与选择窗口底部对齐时,偏移量为15cm。
S105,判断偏移量是否满足预设条件。其中,预设条件包括:偏移量小于零或者偏移量大于预设偏移量。其中,预设偏移量为加长选择列表的底部与选择窗口的底部重合时,加长选择列表的顶部相对于选择窗口顶部的偏移距离。若满足预设条件,执行S107;若不满足预设条件,执行S106。
S106,按照常规处理来响应偏移量的变化。常规处理可理解为根据偏移量计算选择窗口中显示的选项。具体地,可以根据:当前的偏移量/每一行显示的高度+1,计算出选择窗口第一个被显示的选项位于加长选择列表中的具体行数,即位置。如对于月份加长选择列表,选择窗口的高度为4,每一行显示的高度为1,当前的偏移量为5,月份加长选择列表的数据为11、12、1、2、3、4、5、6、7、8、9、10、11、12、1、2,当计算出的结果为6时,选择窗口第一个被显示的选项位于加长选择列表中的位置为6,即数据4。再根据选择窗口中可显示的行数来确定显示的选项。由于选择窗口中可显示的行数为4,那么选择窗口中显示的选项分别为4、5、6、7。也可以根据选择窗口中被选中的选项位于加长选择列表中的位置,再根据被选中的选项在选择窗口中可显示行数中的位置来确定选择窗口中显示的选项。
S107,重置偏移量以实现加长选择列表的连续滚动。
具体地,若偏移量小于零,将所述偏移量置为预设偏移量;若偏移量大于预设偏移量,将偏移量置为零。
可以理解地,若偏移量刚好为零,说明此时加长选择列表顶部滚动到与选择窗口顶部刚好重合,加长选择列表已经滚动到了顶部。到达顶部后若想可以继续往下滚动,就需要把加长选择列表底部挪动到与选择窗口底部对齐,而加长选择列表底部滚动到与选择窗口底部对齐时,偏移量刚好为预设偏移量;若偏移量为预设偏移量,说明此时加长选择列表底部滚动到与选择窗口底部刚好重合,加长选择列表滚动到了底部,到达底部后若想可以继续往上滚动,就需要把加长选择列表顶部挪动到与选择窗口顶部对齐,而加长选择列表顶部与选择窗口顶部对齐时,偏移量为零。
实际上,若偏移量为零,将偏移量设置为预设偏移量;若偏移量为预设偏移量,将偏移量置为零,这样会导致循环。另一方面,可以理解地,对于计算机来说,计算机能识别很小的误差,若偏移量刚好为零或者刚好为预设偏移量,触发信号再变动一点,就能造成偏移量值的改变。如偏移量刚好为零,滑动触摸操作再往下滑动一点,偏移量就小于零了;偏移量刚好为预设偏移量,滑动触摸操作再往上滑动一点,偏移量就大于预设偏移量了。因此步骤中的预设条件分别是偏移量小于零以及偏移量大于预设偏移量。也可以理解为,偏移量小于零时,滑动触摸操作有继续向下滑动的趋势,那么需要将加长选择列表底部挪动到与选择窗口底部对齐,以继续响应滑动触摸操作的向下滑动;偏移量大于预设偏移量时,滑动触摸操作有继续向上滑动的趋势,那么需要将加长选择列表顶部挪动到与选择窗口顶部对齐,以继续响应滑动触摸操作的向上滑动。
上述实施例通过判断偏移量是否满足预设条件,若满足预设条件重置偏移量,即若偏移量小于零,将偏移量置为预设偏移量,若偏移量大于预设偏移量,将偏移量置为零,实现当加长选择列表滚动到了顶部,将加长选择列表挪动到底部对齐,当加长选择列表移动到了底部,将加长选择列表挪动到顶部对齐,以实现选择列表的连续滚动,提高了用户选择数据的效率。另外,通过将选择列表加长得到加长选择列表,以避免在循环滚动时出现断层现象,提高了用户的体验。
以上实施例中,选择控件中的加长选择列表可以有多个,该多个加长选择列表之间相互独立、互不影响。然而在一些选择控件中,多个加长选择列表中的数据是有一定关联的。如对于有月份选择列表和日选择列表所组成的选择控件,月份加长选择列表中显示不同的月份时,所对应的日的加长选择列表是不同的。如3月份对应的天数是31,若选择窗口可显示的行数为4,对应的日的加长选择列表的数据有35个,4月份对应的天数是30,对应的日的加长选择列表的数据有34个。
图3是本发明另一实施例提供的一种实现选择列表滚动的方法。该方法中的选择控件对应的选择列表有多个,且该多个选择列表存在级属关系。其中,级属关系可以理解为存在上级和下级的关系,也可以理解为在上级选择列表存在的情况下,下级选择列表的存在才具有实际意义。如图3所示,该方法实施例包括S301-S310。该方法实施例与图1所示的方法实施例的区别在于:步骤S304、步骤S308-S310的不同。以下将详细介绍步骤S304、步骤S308-S310。其余步骤请参看图1实施例中对应步骤的描述。
S304,根据触发信号确定被选择的加长选择列表以及被选择的加长选择列表的偏移量,其中偏移量为加长选择列表相对选择窗口的偏移距离。
当监听到触发信号后,可以解析出触发信号作用在哪一个加长选择列表上,该加长选择列表即为被选择的加长选择列表。同时根据触发信号确定被选择的加长选择列表当前的偏移量,如根据触发信号对应的移动距离解析并获取被选择的加长选择列表当前的偏移量。在本实施例中,偏移量为加长选择列表顶部相对于选择窗口顶部的偏移距离。
S308,若监听到触发信号结束,根据被选择的加长选择列表当前的偏移量确定被选择的选项。
当监听到触发信号结束,如滑动触摸操作结束,根据被选择的加长选择列表的偏移量确定被选择的选项。具体地,先获取选择窗口中可显示的行数中的哪一行是属于选中的状态,如选择窗口中属于选中的状态对应的那一行为:N/2。再计算属于选中的状态的那一行位于加长选择列表中的具体行数,具体计算公式为:[当前的偏移量+(N/2)*每一行显示的高度]/每一行显示的高度。其中,当前的偏移量指的是被选择的加长选择列表当前的偏移量。再根据具体行数确定被选择的选项。如对于月份加长选择列表,可以理解地,从保存有月份加长选择列表的数组中取出具体行数对应的数据。如月份加长选择列表为11、12、1、2、3、4、5、6、7、8、9、10、11、12、1、2,当计算出的具体行数为8,那么对应的被选择的选项为6,即6月。可以理解地,根据被选择的加长选择列表当前的偏移量确定被选择的选项,包括:获取被选择的加长选择列表及其所有上级对应的加长选择列表中被选择的选项。如对于有年选择列表、月份选择列表、日选择列表的选择控件,若被选择的加长选择列表为月份选择列表,那么根据被选择的加长选择列表当前的偏移量确定被选择的选项,包括根据年加长选择列表当前的偏移量确定被选择的年份和根据月份加长选择列表当前的偏移量确定被选择的月份。
S309,根据被选择的选项确定下级的加长选择列表。
可以理解地,下级的加长选择列表对应有多个,该下级的多个加长选择列表可在接收到选择控件初始化指令时全部生成。如月份选择列表的下级为日选择列表,日选择列表有4个,分别对应为31天、30天、28天、29天,那么在接收到选择控件初始化指令时生成4个对应的加长选择列表。该下级的多个加长选择列表也可在接收到选择控件初始化指令时只生成一个,在后面需要其他的加长选择列表时再生成需要的加长选择列表。需要注意的是,在同一时间,只有一个日加长选择列表被显示。根据被选择的选项确定下级的加长选择列表,可以理解地,如对于有年选择列表、月份选择列表、日选择列表的选择控件,根据被选择的年份和被选择的月份确定当前是闰年或者平年,根据闰年或者平年确定对应的日加长选择列表。
S310,根据确定之前的下级的加长选择列表的偏移量确定下级的加长选择列表当前的偏移量。
图4为本发明实施例提供的一种实现选择列表滚动方法的子流程示意图。如图4所示,根据确定之前的下级的加长选择列表的偏移量确定下级的加长选择列表当前的偏移量,即步骤S310包括S401-S404。可以理解地,在下级的加长选择列表确定之前,该下级的加长选择列表有一个偏移量,将下级的加长选择列表在确定之前的偏移量和预设偏移量分别称为第一偏移量和第一预设偏移量,将下级的加长选择列表在确定之后的偏移量和预设偏移量分别称为第二偏移量和第二预设偏移量。
S401,判断第一预设偏移量是否大于第二预设偏移量。若是,执行S402。若否,执行S403。其中,若第一预设偏移量大于第二预设偏移量,可以理解为,确定之前存储下级的加长选择列表的数组长度大于确定之后存储该下级的加长选择列表的数组长度。那么对应的,在确定之前该下级的加长选择列表可以显示的最大的数据大于在确定之后该下级的加长选择列表可以显示的最大的数据。如日的加长选择列表,在确定之前该日的加长选择列表可以显示的最大值为31,第一预设偏移量为31cm(假设显示窗口为4cm,每一行显示的高度为1cm),在确定之后该日的加长选择列表可以显示的最大值为30,第二预设偏移量为30cm。
S402,判断第一偏移量是否在第二预设偏移量以内。若是,执行S403,若否,执行S404。
S403,将第二偏移量置为第一偏移量。即若第一预设偏移量不大于第二预设偏移量或者第一偏移量在第二预设偏移量以内,将第二偏移量置为第一偏移量。其中,若第一偏移量在第二预设偏移量以内,可以理解为,在确定下级的加长选择列表之前,第一偏移量在30cm以内,那么在确定下级的加长选择列表之后,第一偏移量所对应的显示的这些数据,在确定之后的加长选择列表中都是可以显示的。若在确定下级的加长选择列表之前,可以显示的数据范围在0-30之间,那么在确定下级的加长选择列表之后,显示的数据不变,也是在0-30之间。具体地,若在确定下级的加长选择列表之前,被选择的选项为15,那么在确定下级的加长选择列表之后,被选择的选项仍然为15。
S404,将第二偏移量置为第二预设偏移量。即若第一偏移量大于第二预设偏移量,将第二偏移量置为第二预设偏移量。譬如,在确定下级的加长选择列表之前,被选择的选项为31,在确定下级的加长选择列表之后,被选择的选项最大为30,即不能显示31,那么将第二偏移量置为第二预设偏移量后,让被选择的选项变为30。
上述实施例在选择控件对应的选择列表有多个,且该多个选择列表存在级属关系时,根据触发信号确定被选择的加长选择列表以及被选择的加长选择列表的偏移量,若该偏移量满足预设条件,重置该偏移量。若监听到触发信号结束,根据被选择的加长选择列表当前的偏移量确定被选择的选项,根据被选择的选项确定下级的加长选择列表,根据确定之前的下级的加长选择列表的偏移量确定下级的加长选择列表当前的偏移量。即在选择控件对应的选择列表有多个,且该多个选择列表存在级属关系时,根据其中一个加长选择列表中的操作确定下级的加长选择列表和加长选择列表中的偏移量,以方便用户进一步操作,提高用户的体验。
在其他实施例中,在以上实施例方案的基础上,一种实现选择列表滚动的方法还包括以下内容:
接收设置指令。具体地,在选择控件所在的页面上,可设置“设置”按钮,点击设置按钮即接收到设置指令;还可以在需要设置属性参数的对象上,右键点击调取设置指令。
根据设置指令设置选择控件对应的选择窗口的属性参数,或者设置加长选择列表被选择的选项的属性参数。其中,选择窗口的属性参数包括选择窗口的高度、每一行显示的高度以及可显示的行数,或者选择窗口的宽度、每一列显示的宽度以及可显示的列数等。加长选择列表被选择的选项的属性参数包括被选择的选项的字体颜色、字体大小、是否有动画显示等。
上述实施例通过接收设置指令,根据设置指令设置选择控件对应的选择窗口的属性参数,或者设置加长选择列表被选择的选项的属性参数,以实现选择控件的个性化定制,满足不同用户对选择控件的个性化需求。
图5是本发明实施例提供的一种实现选择列表滚动的装置的示意性框图。该装置50包括获取单元501、重构单元502、监听单元503、第一偏移量确定单元504、判断单元505、响应单元506、重置单元507。
获取单元501用于若接收到选择控件初始化指令,获取选择控件对应的原始选择列表和对应的选择窗口的属性参数。
选择控件包括时间选择控件、日历选择控件,或者其他类型的选择控件。选择控件可以存在于其他应用程序所在的网页中;也可以是单独的存在,如选择控件本身就是个应用程序。若选择控件存在于其他应用程序所在的网页中,当打开该网页时,会产生选择控件初始化指令。若选择控件本身就是个应用程序,那么打开该应用程序时,会产生选择控件初始化指令。若接收到选择控件初始化指令,获取选择控件对应的原始选择列表。其中,选择控件对应的原始选择列表可以是时间选择列表,时间包括年、月、日、时、分、秒中的任意一个或多个,也可以是其他类型的选择列表,如考试分数等级线列表。若选择控件对应的原始选择列表有一个,那么获取该一个原始选择列表,若选择控件对应的原始选择列表有多个,那么获取该多个原始选择列表。具体地,在在终端内或者终端内存中获取选择控件对应的原始选择列表和对应的选择窗口的属性参数。选择控件对应的原始选择列表和对应的选择窗口在选择控件创建的时候生成,原始选择列表中的数据以数组的形式存储。如对于只有秒的时间选择列表,原始选择列表只有一个,原始选择列表中的数据包括0-59的整数,对于有时、分的时间选择列表,原始选择列表有两个,分别对应的是时钟选择列表、分钟选择列表,时钟选择列表中的数据包括1-12的整数、分钟选择列表中的数据包括0-59的整数。
可理解地,在选择窗口中显示有选择列表中可选择的选项。选择窗口的属性参数包括选择窗口的高度或者宽度,选择窗口中每一行显示的高度或者每一列显示的宽度,以及选择窗口中可显示的行数或者可显示的列数。可以理解地,对于一个固定方向而言,若选择列表中的所有数据是竖着连续显示在选择窗口中,选择窗口的属性参数包括选择窗口的高度、选择窗口中每一行显示的高度、选择窗口中可显示的行数。其中,每一行显示的高度指的是选择窗口中显示选择列表上的一个选项的高度,可显示的行数也可以理解为选择窗口中显示的可选择的选项的个数。若选择列表中的所有数据是横着连续显示在选择窗口中,选择窗口的属性参数包括选择窗口的宽度、选择窗口中每一列显示的宽度及选择窗口中可显示的列数。其中,每一列显示的宽度指的是选择窗口中显示选择列表上的一个选项的宽度。
重构单元502用于根据选择窗口的属性参数对原始选择列表进行重构得到加长选择列表。
根据可选择窗口中可显示的行数或者可显示的列数,以及原始选择列表,将选择列表加长以进行重构得到加长选择列表,如在数组的预设位置插入新的数值,其中,预设位置包括选择列表的开头和选择列表的末尾,插入新的数值的个数为可显示的行数或者可显示的列数。
具体地,若选择列表中的所有数据竖着连续显示在选择窗口中,若选择窗口中可显示的行数为N,根据选择窗口的属性参数对原始选择列表进行重构得到加长选择列表,包括:在原始选择列表的开头添加原始选择列表末尾最后N1行的选项以得到一中间选择列表,在中间选择列表的末尾添加原始选择列表开头最前N2行的选项,以重构得到加长选择列表,其中,N1=N/2,N2=N-N1,N1与N2都是整数。N1=N/2可以理解为N除以2后向下取整。若可显示的行数为偶数,那么N1与N2相同,都为可显示的行数除以2。如显示的行数为4,那么N1和N2都为2。若可显示的行数为奇数,那么N1+1=N2。如可显示的行数为5,那么N1为2,N2为3。在其他实施例中,N1=N/2可以理解为N除以2后向上取整,那么N1=1+N2。重构原始选择列表以得到加长选择列表的过程举例如下,若选择列表为表示月份的时间选择列表,选择窗口中可显示的行数为4,存储该时间选择列表的数组中的数据分别为1、2、3、4、5、6、7、8、9、10、11、12。在时间选择列表的开头添加时间选择列表末尾最后显示的2行选项,即加上11、12得到中间选择列表,在中间选择列表的末尾添加时间选择列表开头最前显示的2行选项,即加上1、2,最后得到的加长选择列表为:11、12、1、2、3、4、5、6、7、8、9、10、11、12、1、2。
监听单元503用于监听选择控件上的触发信号。
得到对应的选择控件之后,可以监听终端用户作用在选择控件上的触发信号,并根据监听到的触发信号进行后续处理。终端用户作用在选择控件上的触发信号包括但不限于以下一项或多项:用户手指在显示器上显示的选择控件对应位置的触摸操作如滑动触摸操作、鼠标在选择控件对应位置的点击动作和/或移动动作。
第一偏移量确定单元504用于根据触发信号确定加长选择列表的偏移量,其中,偏移量为加长选择列表相对选择窗口的偏移距离。
根据触发信号确定加长选择列表当前的偏移量,如根据触发信号对应的移动距离解析并获取加长选择列表当前的偏移量。其中,偏移量可以为加长选择列表顶部相对于选择窗口顶部的偏移距离,也可以为加长选择列表底部相对于选择窗口底部的偏移距离,还可以为加长选择列表的任何点相对于选择窗口顶部或者底部的偏移距离。需要注意的是,上述提到的选择窗口顶部或者底部仅仅是加长选择列表滚动时的参考点,也可以选择窗口中的其他点作为加长选择列表滚动时的参考点。
在本实施例中,偏移量为加长选择列表顶部相对于选择窗口顶部的偏移距离。选择窗口不动,加长选择列表可以在某些方向上滚动,如往上往下滚动。因此,若有向右为x轴正方向、向上为y轴正方向的坐标轴,那么加长选择列表在滚动方向上的坐标值有变化,而在坐标轴的另一方向上的坐标值并没有变化,如在上下方向上移动时,x轴上的坐标值并没有变化,而y轴上的坐标值有变化,因此使用偏移量来表示加长选择列表出现的坐标变化。
需要注意的是,在本实施例中,偏移距离一直是以选择窗口顶部为参考点的。当加长选择列表顶部滚动到选择窗口顶部之上时,偏移量大于零,加长选择列表顶部离选择窗口顶部越远,偏移量越大;当加长选择列表顶部滚动到选择窗口顶部之下时,偏移量小于零。具体地,当加长选择列表顶部滚动到与选择窗口顶部对齐时,加长选择列表顶部相对于选择窗口顶部的偏移距离,即偏移量为零,如图2a所示。当加长选择列表底部滚动到与选择窗口底部对齐时,加长选择列表顶部相对于选择窗口顶部的偏移距离,即偏移量为加长选择列表的高度与选择选择窗口高度之差,如图2b所示。若加长选择列表的高度为20cm,选择窗口高度为5cm,当加长选择列表顶部滚动到与选择窗口顶部对齐时,偏移量为零;当加长选择列表底部滚动到与选择窗口底部对齐时,偏移量为15cm。
判断单元505判断偏移量是否满足预设条件。其中,预设条件包括:偏移量小于零或者偏移量大于预设偏移量。其中,预设偏移量为加长选择列表的底部与选择窗口的底部重合时,加长选择列表的顶部相对于选择窗口顶部的偏移距离。
响应单元506用于若偏移量不满足预设条件,按照常规处理来响应偏移量的变化。常规处理具体包括根据偏移量计算选择窗口中显示的选项。具体地,可以根据:当前的偏移量/每一行显示的高度+1,计算出选择窗口第一个被显示的选项位于加长选择列表中的具体行数,即位置。如对于月份加长选择列表,选择窗口的高度为4,每一行显示的高度为1,当前的偏移量为5,月份加长选择列表的数据为11、12、1、2、3、4、5、6、7、8、9、10、11、12、1、2,当计算出的结果为6时,选择窗口第一个被显示的选项位于加长选择列表中的位置为6,即数据4。再根据选择窗口中可显示的行数来确定显示的选项。由于选择窗口中可显示的行数为4,那么选择窗口中显示的选项分别为4、5、6、7。也可以根据选择窗口中被选中的选项位于加长选择列表中的位置,再根据被选中的选项在选择窗口中可显示行数中的位置来确定选择窗口中显示的选项。
重置单元507用于若偏移量满足预设条件,重置偏移量以实现加长选择列表的连续滚动。
具体地,重置单元507用于若偏移量小于零,将所述偏移量置为预设偏移量;若偏移量大于预设偏移量,将偏移量置为零。
可以理解地,若偏移量刚好为零,说明此时加长选择列表顶部滚动到与选择窗口顶部刚好重合,加长选择列表已经滚动到了顶部。到达顶部后若想可以继续往下移动,就需要把加长选择列表底部挪动到与选择窗口底部对齐,而加长选择列表底部滚动到与选择窗口底部对齐时,偏移量刚好为预设偏移量;若偏移量为预设偏移量,说明此时加长选择列表底部滚动到与选择窗口底部刚好重合,加长选择列表滚动到了底部,到达底部后若想可以继续往上滚动,就需要把加长选择列表顶部挪动到与选择窗口顶部对齐,而加长选择列表顶部与选择窗口顶部对齐时,偏移量为零。
实际上,若偏移量为零,将偏移量设置为预设偏移量;若偏移量为预设偏移量,将偏移量置为零,这样会导致循环。另一方面,可以理解地,对于计算机来说,计算机能识别很小的误差,若偏移量刚好为零或者刚好为预设偏移量,触发信号再变动一点,就能造成偏移量值的改变。如偏移量刚好为零,滑动触摸操作再往下滑动一点,偏移量就小于零了;偏移量刚好为预设偏移量,滑动触摸操作再往上滑动一点,偏移量就大于预设偏移量了。也可以理解为,偏移量小于零时,滑动触摸操作有继续向下滑动的趋势,那么需要将加长选择列表底部挪动到与选择窗口底部对齐,以继续响应滑动触摸操作的向下滑动;偏移量大于预设偏移量时,滑动触摸操作有继续向上滑动的趋势,那么需要将加长选择列表顶部挪动到与选择窗口顶部对齐,以继续响应滑动触摸操作的向上滑动。
上述实施例通过判断偏移量是否满足预设条件,若满足预设条件重置偏移量,即若偏移量小于零,将偏移量置为预设偏移量,若偏移量大于预设偏移量,将偏移量置为零,实现当加长选择列表滚动到了顶部,将加长选择列表挪动到底部对齐,当加长选择列表滚动到了底部,将加长选择列表挪动到顶部对齐,以实现选择列表的连续滚动,提高了用户选择数据的效率。另外,通过将选择列表加长得到加长选择列表,以避免在循环滚动时出现断层现象,提高了用户的体验。
在其他实施例中,有一些选择控件,多个加长选择列表中的数据是有一定关联的。如对于有月份选择列表和日选择列表所组成的选择控件,月份加长选择列表中显示不同的月份时,所对应的日的加长选择列表是不同的。如3月份对应的天数是31,若选择窗口可显示的行数为4,对应的日的加长选择列表的数据有35个,4月份对应的天数是30,对应的日的加长选择列表的数据有34个。
图6是本发明另一实施例提供的一种实现选择列表滚动的装置的示意性框图。该实施例中的选择控件对应的选择列表有多个,且该多个选择列表存在级属关系。其中,级属关系可以理解为存在上级和下级的关系,也可以理解为在上级选择列表存在的情况下,下级选择列表的存在才具有实际意义。如图6所示,该装置60包括获取单元601、重构单元602、监听单元603、第一偏移量确定单元604、判断单元605、响应单元606、重置单元607、选项确定单元608、未选列表确定单元609、第二偏移量确定单元610。该实施例与图5所示的实施例的区别在于:增加了选项确定单元608、未选列表确定单元609、第二偏移量确定单元610。以下将详细介绍该实施例与图5实施例的不同之处,其他的单元请参看图5实施例相应单元的描述。
第一偏移量确定单元604,用于根据触发信号确定被选择的加长选择列表以及被选择的加长选择列表的偏移量,其中偏移量为加长选择列表相对选择窗口的偏移距离。
当监听到触发信号后,可以解析出触发信号作用在哪一个加长选择列表上,该加长选择列表即为被选择的加长选择列表。同时根据触发信号确定被选择的加长选择列表当前的偏移量,如根据触发信号对应的移动距离解析并获取被选择的加长选择列表当前的偏移量。在本实施例中,偏移量为加长选择列表顶部相对于选择窗口顶部的偏移距离。
选项确定单元608用于若监听到触发信号结束,根据被选择的加长选择列表当前的偏移量确定被选择的选项。
当监听到触发信号结束,如滑动触摸操作结束,根据被选择的加长选择列表的偏移量确定被选择的选项。具体地,先获取选择窗口中可显示的行数中的哪一行是属于选中的状态,如选择窗口中属于选中的状态对应的那一行为:N/2。再计算属于选中的状态的那一行位于加长选择列表中的具体行数,具体计算公式为:[当前的偏移量+(N/2)*每一行显示的高度]/每一行显示的高度。其中,当前的偏移量指的是被选择的加长选择列表当前的偏移量。再根据具体行数确定被选择的选项。如对于月份加长选择列表,可以理解地,从保存有月份加长选择列表的数组中取出具体行数对应的数据。如月份加长选择列表为11、12、1、2、3、4、5、6、7、8、9、10、11、12、1、2,当计算出的具体行数为8,那么对应的被选择的选项为6,即6月。可以理解地,根据被选择的加长选择列表当前的偏移量确定被选择的选项,包括:获取被选择的加长选择列表及其所有上级对应的加长选择列表中被选择的选项。如对于有年选择列表、月份选择列表、日选择列表的选择控件,若被选择的加长选择列表为月份选择列表,那么根据被选择的加长选择列表当前的偏移量确定被选择的选项,包括根据年加长选择列表当前的偏移量确定被选择的年份和根据月份加长选择列表当前的偏移量确定被选择的月份。
未选列表确定单元609用于根据被选择的选项确定下级的加长选择列表。
可以理解地,下级的加长选择列表对应有多个,该下级的多个加长选择列表可在接收到选择控件初始化指令时全部生成。如月份选择列表的下级为日选择列表,日选择列表有4个,分别对应为31天、30天、28天、29天,那么在接收到选择控件初始化指令时生成4个对应的加长选择列表。该下级的多个加长选择列表也可在接收到选择控件初始化指令时只生成一个,在后面需要其他的加长选择列表时再生成需要的加长选择列表。需要注意的是,在同一时间,只有一个日加长选择列表被显示。根据被选择的选项确定下级的加长选择列表,可以理解地,如对于有年选择列表、月份选择列表、日选择列表的选择控件,根据被选择的年份和被选择的月份确定当前是闰年或者平年,根据闰年或者平年确定对应的日加长选择列表。
第二偏移量确定单元610根据确定之前的下级的加长选择列表的偏移量确定下级的加长选择列表当前的偏移量。
如图7所示,为本发明实施例提供的第二偏移量确定单元的示意性框图。第二偏移量确定单元包括第一判断单元701、第二判断单元702、修改单元703。
第一判断单元701用于判断第一预设偏移量是否大于第二预设偏移量。其中,若第一预设偏移量大于第二预设偏移量,可以理解为,确定之前存储下级的加长选择列表的数组长度大于确定之后存储该下级的加长选择列表的数组长度。那么对应的,在确定之前该下级的加长选择列表可以显示的最大的数据大于在确定之后该下级的加长选择列表可以显示的最大的数据。如日的加长选择列表,在确定之前该日的加长选择列表可以显示的最大值为31,第一预设偏移量为31cm(假设显示窗口为4cm,每一行显示的高度为1cm),在确定之后该日的加长选择列表可以显示的最大值为30,第二预设偏移量为30cm。
第二判断单元702判断第一偏移量是否在第二预设偏移量以内。
修改单元703用于若第一预设偏移量不大于第二预设偏移量或者第一偏移量在第二预设偏移量以内,将第二偏移量置为第一偏移量。其中,若第一偏移量在第二预设偏移量以内,可以理解为,在确定下级的加长选择列表之前,第一偏移量在30cm以内,那么在确定下级的加长选择列表之后,第一偏移量所对应的显示的这些数据,在确定之后的加长选择列表中都是可以显示的。若在确定下级的加长选择列表之前,可以显示的数据范围在0-30之间,那么在确定下级的加长选择列表之后,显示的数据不变,也是在0-30之间。具体地,若在确定下级的加长选择列表之前,被选择的选项为15,那么在确定下级的加长选择列表之后,被选择的选项仍然为15。
修改单元703还用于若第一偏移量大于第二预设偏移量,将第二偏移量置为第二预设偏移量。譬如,在确定下级的加长选择列表之前,被选择的选项为31,在确定下级的加长选择列表之后,被选择的选项最大为30,即不能显示31,那么将第二偏移量置为第二预设偏移量后,让被选择的选项变为30。
上述实施例在选择控件对应的选择列表有多个,且该多个选择列表存在级属关系时,根据其中一个加长选择列表中的操作确定下级的加长选择列表和加长选择列表中的偏移量,以方便用户进一步操作,提高用户的体验。
在其他实施例中,在以上装置实施例的基础上,一种实现选择列表滚动的装置还包括接收单元、设置单元。其中,
接收单元,用于接收设置指令。具体地,在选择控件所在的页面上,可设置“设置”按钮,点击设置按钮即接收到设置指令;还可以在需要设置属性参数的对象上,右键点击调取设置指令。
设置单元,用于根据设置指令设置选择控件对应的选择窗口的属性参数,或者设置加长选择列表被选择的选项的属性参数。其中,选择窗口的属性参数包括选择窗口的高度和每一行显示的高度,或者选择窗口的宽度,每一列显示的宽度等。加长选择列表被选择的选项的属性参数包括被选择的选项的字体颜色、字体大小、是否有动画显示等。
上述实施例通过接收设置指令,根据设置指令设置选择控件对应的选择窗口的属性参数,或者设置加长选择列表被选择的选项的属性参数,以实现选择控件的个性化定制,满足不同用户对选择控件的个性化需求。
上述防止界面抖动的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行
图8为本发明实施例提供的一种计算机设备的示意性框图。该计算机设备80可以是终端。该设备80包括通过系统总线801连接的处理器802、存储器和网络接口803,其中,存储器可以包括非易失性存储介质804和内存储器805。
该非易失性存储介质804可存储操作系统8041和计算机程序8042。该计算机程序8042被执行时,可使得处理器802执行一种实现选择列表滚动的方法。
该处理器802用于提供计算和控制能力,支撑整个设备80的运行。
该内存储器805为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器802执行时,可使得处理器802执行一种实现选择列表滚动的方法。
该网络接口803用于进行网络通信,如接收指令等。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的设备80的限定,具体的设备80可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器802用于运行存储在存储器中的计算机程序,以实现如下操作:
若接收到选择控件初始化指令,获取所述选择控件对应的原始选择列表和对应的选择窗口的属性参数;根据所述选择窗口的属性参数对所述原始选择列表进行重构得到加长选择列表;监听所述选择控件上的触发信号;根据所述触发信号确定所述加长选择列表的偏移量,其中,所述偏移量为所述加长选择列表相对选择窗口的偏移距离;判断所述偏移量是否满足预设条件;若所述偏移量满足预设条件,重置所述偏移量以实现所述加长选择列表的连续滚动。
在一实施例中,所述偏移量为所述加长选择列表的顶部相对于选择窗口顶部的偏移距离,处理器802执行若所述偏移量满足预设条件,重置所述偏移量时,具体执行如下操作:
若所述偏移量小于零,将所述偏移量置为预设偏移量,其中,预设偏移量为加长选择列表的底部与选择窗口的底部重合时,所述加长选择列表的顶部相对于选择窗口顶部的偏移距离;若所述偏移量大于预设偏移量,将所述偏移量置为零。
在一实施例中,所述选择窗口的属性参数包括所述选择窗口可显示的行数N,处理器802执行根据所述选择窗口的属性参数对所述原始选择列表进行重构得到加长选择列表时,具体执行如下操作:
在所述原始选择列表的开头添加原始选择列表末尾最后N1行的选项以得到一中间选择列表,在中间选择列表的末尾添加原始选择列表开头最前N2行的选项,以重构得到加长选择列表,其中,N1=N/2,N2=N-N1。
在一实施例中,所述选择控件对应的选择列表有多个,且所述多个选择列表存在级属关系时,处理器802执行根据所述触发信号确定所述加长选择列表的偏移量时,具体执行如下操作:根据所述触发信号确定被选择的加长选择列表,以及所述被选择的加长选择列表的偏移量。处理器802还执行:若检测到所述触发信号结束,根据被选择的加长选择列表当前的偏移量确定被选择的选项;根据所述被选择的选项确定下级的加长选择列表;根据确定之前的下级的加长选择列表的偏移量确定下级的加长选择列表当前的偏移量。
在一实施例中,处理器802还执行如下操作:
接收设置指令;根据所述设置指令设置所述选择控件对应的选择窗口的属性参数,或者设置加长选择列表被选择的选项的属性参数。
应当理解,在本发明实施例中,处理器802可以是中央处理单元(CentralProcessing Unit,CPU),该处理器802还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图8中示出的计算机设备80结构并不构成对设备80的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,业务合并的设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图8所示实施例一致,在此不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,实现以下步骤:
若接收到选择控件初始化指令,获取所述选择控件对应的原始选择列表和对应的选择窗口的属性参数;根据所述选择窗口的属性参数对所述原始选择列表进行重构得到加长选择列表;监听所述选择控件上的触发信号;根据所述触发信号确定所述加长选择列表的偏移量,其中,所述偏移量为所述加长选择列表相对选择窗口的偏移距离;判断所述偏移量是否满足预设条件;若所述偏移量满足预设条件,重置所述偏移量以实现所述加长选择列表的连续滚动。
在一实施例中,所述偏移量为所述加长选择列表的顶部相对于选择窗口顶部的偏移距离,该程序指令被处理器执行若所述偏移量满足预设条件,重置所述偏移量时,具体实现:
若所述偏移量小于零,将所述偏移量置为预设偏移量,其中,预设偏移量为加长选择列表的底部与选择窗口的底部重合时,所述加长选择列表的顶部相对于选择窗口顶部的偏移距离;若所述偏移量大于预设偏移量,将所述偏移量置为零。
在一实施例中,所述选择窗口的属性参数包括所述选择窗口可显示的行数N,该程序指令被处理器执行根据所述选择窗口的属性参数对所述原始选择列表进行重构得到加长选择列表时,具体实现:
在所述原始选择列表的开头添加原始选择列表末尾最后N1行的选项以得到一中间选择列表,在中间选择列表的末尾添加原始选择列表开头最前N2行的选项,以重构得到加长选择列表,其中,N1=N/2,N2=N-N1。
在一实施例中,所述选择控件对应的选择列表有多个,且所述多个选择列表存在级属关系时,该程序指令被处理器执行根据所述触发信号确定所述加长选择列表的偏移量时,具体实现:根据所述触发信号确定被选择的加长选择列表,以及所述被选择的加长选择列表的偏移量。该程序指令被处理器执行时,还实现:若检测到所述触发信号结束,根据被选择的加长选择列表当前的偏移量确定被选择的选项;根据所述被选择的选项确定下级的加长选择列表;根据确定之前的下级的加长选择列表的偏移量确定下级的加长选择列表当前的偏移量。
在一实施例中,该程序指令被处理器执行时,还实现:
接收设置指令;根据所述设置指令设置所述选择控件对应的选择窗口的属性参数,或者设置加长选择列表被选择的选项的属性参数。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种实现选择列表滚动的方法,其特征在于,所述方法包括:
若接收到选择控件初始化指令,获取所述选择控件对应的原始选择列表和对应的选择窗口的属性参数;
根据所述选择窗口的属性参数对所述原始选择列表进行重构得到加长选择列表;
监听所述选择控件上的触发信号;
根据所述触发信号确定所述加长选择列表的偏移量,其中,所述偏移量为所述加长选择列表相对选择窗口的偏移距离;
判断所述偏移量是否满足预设条件;
若所述偏移量满足预设条件,重置所述偏移量以实现所述加长选择列表的连续滚动;所述偏移量为所述加长选择列表的顶部相对于选择窗口顶部的偏移距离,当所述加长选择列表顶部滚动到所述选择窗口顶部之上时,所述偏移量大于零,当所述加长选择列表顶部滚动到所述选择窗口顶部之下时,所述偏移量小于零,所述若所述偏移量满足预设条件,重置所述偏移量,包括:
若所述偏移量小于零,将所述偏移量置为预设偏移量,其中,预设偏移量为加长选择列表的底部与选择窗口的底部重合时,所述加长选择列表的顶部相对于选择窗口顶部的偏移距离;
若所述偏移量大于预设偏移量,将所述偏移量置为零。
2.如权利要求1所述的方法,其特征在于,所述选择窗口的属性参数包括所述选择窗口可显示的行数N,所述根据所述选择窗口的属性参数对所述原始选择列表进行重构得到加长选择列表,包括:
在所述原始选择列表的开头添加原始选择列表末尾最后N1行的选项以得到一中间选择列表,在中间选择列表的末尾添加原始选择列表开头最前N2行的选项,以重构得到加长选择列表,其中,N1为N除以2后,向上或者向下取整的整数,N2=N-N1。
3.如权利要求1所述的方法,其特征在于,所述选择控件对应的原始选择列表有多个,且所述多个原始选择列表存在级属关系:
所述根据所述触发信号确定所述加长选择列表的偏移量,包括:根据所述触发信号确定被选择的加长选择列表,以及所述被选择的加长选择列表的偏移量;
在所述若所述偏移量满足预设条件,重置所述偏移量以实现所述加长选择列表的连续滚动之后,所述方法还包括:
若检测到所述触发信号结束,根据被选择的加长选择列表当前的偏移量确定被选择的选项;
根据所述被选择的选项确定下级的加长选择列表;
根据确定之前的下级的加长选择列表的偏移量确定下级的加长选择列表当前的偏移量。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收设置指令;
根据所述设置指令设置所述选择控件对应的选择窗口的属性参数,或者设置加长选择列表被选择的选项的属性参数。
5.一种实现选择列表滚动的装置,其特征在于,所述装置包括:
获取单元,用于若接收到选择控件初始化指令,获取所述选择控件对应的原始选择列表和选择窗口的属性参数;
重构单元,用于根据所述选择窗口的属性参数对所述原始选择列表进行重构得到加长选择列表;
监听单元,用于监听所述选择控件上的触发信号;
第一偏移量确定单元,用于根据所述触发信号确定所述加长选择列表的偏移量,其中,所述偏移量为所述加长选择列表相对选择窗口的偏移距离;
判断单元,用于判断所述偏移量是否满足预设条件;
重置单元,用于若所述偏移量满足预设条件,重置所述偏移量以实现所述加长选择列表的连续滚动;所述偏移量为所述加长选择列表的顶部相对于选择窗口顶部的偏移距离,当所述加长选择列表顶部滚动到所述选择窗口顶部之上时,所述偏移量大于零,当所述加长选择列表顶部滚动到所述选择窗口顶部之下时,所述偏移量小于零,
所述重置单元,用于若所述偏移量小于零,将所述偏移量置为预设偏移量,其中,预设偏移量为加长选择列表的底部与选择窗口的底部重合时,所述加长选择列表的顶部相对于选择窗口顶部的偏移距离;若所述偏移量大于预设偏移量,将所述偏移量置为零。
6.如权利要求5所述的装置,其特征在于,所述选择窗口的属性参数包括所述选择窗口可显示的行数N,
所述重构单元,用于在所述原始选择列表的开头添加原始选择列表末尾最后N1行的选项以得到一中间选择列表,在中间选择列表的末尾添加原始选择列表开头最前N2行的选项,以重构得到加长选择列表,其中,N1为N除以2后,向上或者向下取整的整数,N2=N-N1。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储实现实现选择列表滚动的计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1-4任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,实现如权利要求1-4任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711184377.7A CN107817938B (zh) | 2017-11-23 | 2017-11-23 | 实现选择列表滚动的方法、装置、设备及可读存储介质 |
PCT/CN2018/075073 WO2019100590A1 (zh) | 2017-11-23 | 2018-02-02 | 实现选择列表滚动的方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711184377.7A CN107817938B (zh) | 2017-11-23 | 2017-11-23 | 实现选择列表滚动的方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107817938A CN107817938A (zh) | 2018-03-20 |
CN107817938B true CN107817938B (zh) | 2020-01-14 |
Family
ID=61608828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711184377.7A Active CN107817938B (zh) | 2017-11-23 | 2017-11-23 | 实现选择列表滚动的方法、装置、设备及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107817938B (zh) |
WO (1) | WO2019100590A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108449641B (zh) * | 2018-03-28 | 2021-04-27 | 聚好看科技股份有限公司 | 播放媒体流的方法、装置、计算机设备和存储介质 |
CN109799945B (zh) * | 2018-12-24 | 2021-04-13 | 天津字节跳动科技有限公司 | 小程序长列表滚动显示方法、装置、电子设备及存储介质 |
CN109828807A (zh) * | 2018-12-24 | 2019-05-31 | 天津字节跳动科技有限公司 | 小程序手势切换页面的方法、装置、电子设备及存储介质 |
CN110865748A (zh) * | 2019-11-13 | 2020-03-06 | 北京无限光场科技有限公司 | 菜单呈现方法、装置、电子设备及计算机可读存储介质 |
CN112684960A (zh) * | 2020-12-29 | 2021-04-20 | 平安普惠企业管理有限公司 | 前端列表滚动方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1802853A (zh) * | 2003-05-20 | 2006-07-12 | 汤姆森许可贸易公司 | 项目列表中的导航方法及选择列表中的项目的视听接收机 |
CN102576292A (zh) * | 2009-10-30 | 2012-07-11 | 摩托罗拉移动公司 | 用于增强在显示设备中的滚动操作的方法和设备 |
US8738092B2 (en) * | 2007-01-04 | 2014-05-27 | Microsoft Corporation | Scrollable computing device display |
US8769430B2 (en) * | 2007-12-05 | 2014-07-01 | International Business Machines Corporation | Multi-column formatted page scrolling |
CN107102742A (zh) * | 2017-06-05 | 2017-08-29 | 努比亚技术有限公司 | 页面浏览方法、移动终端和计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9182897B2 (en) * | 2011-04-22 | 2015-11-10 | Qualcomm Incorporated | Method and apparatus for intuitive wrapping of lists in a user interface |
CN105022618A (zh) * | 2014-04-25 | 2015-11-04 | Tcl集团股份有限公司 | 一种图形界面轮盘控件的实现方法及系统 |
US20150370462A1 (en) * | 2014-06-20 | 2015-12-24 | Microsoft Corporation | Creating calendar event from timeline |
US20170308255A1 (en) * | 2016-04-25 | 2017-10-26 | Microsoft Technology Licensing, Llc | Character-selection band for character entry |
-
2017
- 2017-11-23 CN CN201711184377.7A patent/CN107817938B/zh active Active
-
2018
- 2018-02-02 WO PCT/CN2018/075073 patent/WO2019100590A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1802853A (zh) * | 2003-05-20 | 2006-07-12 | 汤姆森许可贸易公司 | 项目列表中的导航方法及选择列表中的项目的视听接收机 |
US8738092B2 (en) * | 2007-01-04 | 2014-05-27 | Microsoft Corporation | Scrollable computing device display |
US8769430B2 (en) * | 2007-12-05 | 2014-07-01 | International Business Machines Corporation | Multi-column formatted page scrolling |
CN102576292A (zh) * | 2009-10-30 | 2012-07-11 | 摩托罗拉移动公司 | 用于增强在显示设备中的滚动操作的方法和设备 |
CN107102742A (zh) * | 2017-06-05 | 2017-08-29 | 努比亚技术有限公司 | 页面浏览方法、移动终端和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107817938A (zh) | 2018-03-20 |
WO2019100590A1 (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107817938B (zh) | 实现选择列表滚动的方法、装置、设备及可读存储介质 | |
RU2455679C2 (ru) | Способ, устройство и компьютерный программный продукт для изменения конфигурации доступных для выбора элементов | |
US8418076B2 (en) | Managing inputs from a plurality of user input device actuators | |
US20140164963A1 (en) | User configurable subdivision of user interface elements and full-screen access to subdivided elements | |
US20140098142A1 (en) | System and method for generation and manipulation of a curve in a dynamic graph based on user input | |
EP2953331B1 (en) | Navigating calendar application in a portable device | |
US20060262146A1 (en) | Mobile communication terminal and method | |
US10146420B2 (en) | Electronic device, graph display method and storage medium for presenting and manipulating two dimensional graph objects using touch gestures | |
EP2259174A1 (en) | Electronic device, method for viewing desktop thereof, and computer program product | |
CN106775755B (zh) | 一种应用推荐方法及移动终端 | |
CN106681616B (zh) | 一种浏览器功能栏显示方法、装置及设备 | |
CN103597438A (zh) | 信息处理终端及方法、程序和记录介质 | |
US9805016B2 (en) | Techniques to present a dynamic formula bar in a spreadsheet | |
US20170177201A1 (en) | Authoring and consuming offline an interactive data analysis document | |
CN102385475A (zh) | 电子设备及其交互方法 | |
CN110865748A (zh) | 菜单呈现方法、装置、电子设备及计算机可读存储介质 | |
CN108491140B (zh) | 互动内容的展示方法及装置 | |
TWI770429B (zh) | 具有多種圖形化使用者介面之股票報價裝置與方法 | |
CN107340955B (zh) | 获取视图在屏幕上的位置变化后的位置信息的方法和装置 | |
CN109164950B (zh) | 一种移动终端系统界面设置方法、装置、介质和设备 | |
US9146654B2 (en) | Movement reduction when scrolling for item selection during direct manipulation | |
CN107707737B (zh) | 一种应用程序显示方法及移动终端 | |
CN113448478A (zh) | 一种对滚动条的控制方法、装置、电子设备及介质 | |
CN106843698A (zh) | 一种交互式滚动条展示方法及电子设备 | |
CN111149080B (zh) | 一种图标管理方法及终端设备 |
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 |