掌桥专利:专业的专利平台
掌桥专利
首页

一种列表索引条的构建方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 19:30:30


一种列表索引条的构建方法、装置、电子设备及存储介质

技术领域

本发明属于Android端开发技术领域,具体涉及一种列表索引条的构建方法、装置、电子设备及存储介质。

背景技术

在常规的Android开发中,列表侧边栏快速过滤控件在开发中经常使用,如微信和qq等通讯录的侧边索引条过滤,其中,常规的做法是通过开发列表布局的代码来实现相应的功能,但是由于每个列表索引条的开发代码并不通用,当需求发生变化时(如需要修改索引条样式或内容),则需要重新进行代码的开发,如此,则会需要耗费大量的开发时间,不仅降低了开发效率,还增加了开发人员的工作量;因此,如何提供一种列表索引条的快速构建方法,以提高开发效率以及降低开发工作量,已成为一个亟待解决的问题。

发明内容

本发明的目的是提供一种列表索引条的构建方法、装置、电子设备及存储介质,用以解决现有技术中待构建索引条需要根据每个需求来开发对应的代码,从而导致开发效率慢以及开发工作量高的问题。

为了实现上述目的,本发明采用以下技术方案:

第一方面,提供了一种列表索引条的构建方法,包括:

获取待构建索引条的配置文件,其中,所述配置文件包括索引条填充数据、索引条位置数据以及索引条所处侧边栏的位置数据,且所述索引条填充数据包括若干索引字符;

基于所述配置文件,确定出所述待构建索引条的高度、宽度以及每个索引字符在所述待构建索引条中的显示高度;

依据所述待构建索引条的高度和宽度,绘制出索引条框架;

根据所述待构建索引条的宽度、每个索引字符在所述待构建索引条中的显示高度以及所述配置文件中的索引条位置数据和索引条所处侧边栏的位置数据,确定出每个索引字符的中心横坐标以及中心纵坐标;

基于每个索引字符的中心横坐标以及中心纵坐标,将各个索引字符填充至所述索引条框架中,以在填充完毕后,完成所述待构建索引条的绘制,得到展示索引条。

基于上述公开的内容,本发明通过配置待构建索引条的各个参数,来生成配置文件,以基于配置文件实现待构建索引条的绘制,其中,配置文件包括索引条填充数据(即需要在索引条内填充的索引字符)、索引条位置数据以及索引条所处侧边栏的位置数据;接着,即可基于前述配置文件中的各个数据,来确定出待构建索引条的高度、宽度以及每个索引字符在待构建索引条中的显示高度;而后,在确定出待构建索引条的高度和宽度后,即可绘制出一索引条框架;此时,只需要计算出每个索引字符在索引条框架中的填充位置,即可完成索引字符的填充;具体的,本发明通过前述计算出的待构建索引条的宽度、每个索引字符的显示高度以及配置文件中的索引条位置数据和索引条所处侧边栏的位置数据,来计算出每个索引字符的中心横纵坐标;如此,即可基于每个索引字符的中心横纵坐标,来确定出各个索引字符在索引条框架中的填充位置;最后,在确定的各个填充位置上,进行对应索引字符的填充,即可完成待构建索引条的绘制。

通过上述设计,本发明通过配置索引条内各个参数的方式,来生成索引条配置文件,并基于该配置文件进行索引条的绘制;如此,当需求发生变化时,开发人员只需更改配置文件,即可实现不同索引条的绘制,而无需依据变更的需求来重新开发代码,由此,本发明相比于传统的索引条构建方法,不仅大大提高了开发效率,还降低了开发的工作量。

在一个可能的设计中,所述索引条位置数据包括:第一间距、第二间距以及第三间距,所述索引条所处侧边栏的位置数据包括侧边栏高度以及侧边栏宽度,其中,所述第一间距用于表征所述待构建索引条的顶部与索引条展示视图顶部之间的间距,所述第二间距用于表征所述待构建索引条的底部与索引条展示视图底部之间的间距,所述第三间距用于表征所述待构建索引条与索引条展示视图右侧边之间的间距;

相应的,基于所述配置文件,确定出所述待构建索引条的高度、宽度以及每个索引字符在所述待构建索引条中的显示高度,包括:

计算所述侧边栏高度与所述第一间距之间的差值,并使用差值减去所述第二间距,得到所述待构建索引条的高度;

获取所述索引条填充数据中每个索引字符的字符宽度,并将最大的字符宽度作为所述待构建索引条的宽度;

基于所述索引条填充数据,确定出所述索引条填充数据的数据长度;

根据所述数据长度和所述待构建索引条的高度,计算得到所述索引条填充数据中每个索引字符在所述待构建索引条中的显示高度。

基于上述公开的内容,本发明依据配置的侧边栏高度、索引条与其展示视图顶部之间的间距以及索引条与其展示视图底部之间的间距,来计算出待构建索引条的高度;然后,再将若干索引字符中字符宽度的最大值,作为待构建索引条的宽度;最后,再根据索引条填充数据的长度和待构建索引条的高度,来确定出每个索引字符的显示高度;如此,计算出前述数据后,即可为待构建索引条的绘制提供数据基础。

在一个可能的设计中,若干索引字符中的每个索引字符的中心横坐标相同,其中,根据所述待构建索引条的宽度、每个索引字符在所述待构建索引条中的显示高度以及所述配置文件中的索引条位置数据和索引条所处侧边栏的位置数据,确定出每个索引字符的中心横坐标以及中心纵坐标,包括:

获取一字符标定值,并基于所述字符标定值以及所述待构建索引条的宽度,计算得到第一中间值;

计算所述侧边栏宽度与所述第三间距之间的差值,并使用所述侧边栏宽度与所述第三间距之间的差值减去所述第一中间值,以得到每个索引字符的中心横坐标;

对于所述索引条填充数据中的第i个索引字符,计算所述显示高度与j之间的乘积,得到第二中间值,其中,j=i-1,且i为正整数;

求和所述第一间距、所述第二中间值以及所述显示高度,以将求和结果作为所述第i个索引字符的中心纵坐标;

将i自加1,直至i等于n时,得到每个索引字符的中心纵坐标,其中,n为所述索引条填充数据中索引字符的总个数。

基于上述公开的内容,由于索引字符在索引条框架中都是从上至下进行排列的,因此,各个索引字符的横坐标是相同的,基于此,本发明配置有一字符标定值,然后基于字符标定值与待构建索引条的宽度,来计算出第一中间值;接着,再依次计算侧边栏宽度、第三间距以及第一中间值的差值,计算完毕后,则可得到各个索引字符的中心横坐标;而对于第i个字符索引,其中心纵坐标计算过程如下:首先基于显示高度和第i个索引字符的下标(下标从0开始),来计算出第二中间值,而后,求和第一间距、第二中间值以及显示高度,即可得到第i个索引字符的中心纵坐标;当然,其余各个索引字符的计算过程原理也是如此,如此不再赘述。

在一个可能的设计中,所述配置文件还包括:每个索引字符所关联的索引内容、字符显示样式以及内容显示样式,其中,在得到展示索引条后,所述方法还包括:

响应于用户与所述展示索引条的人机交互操作时,获取用户在所述展示索引条上的交互位置坐标,以基于所述交互位置坐标,确定出用户在所述展示索引条上的触点位置;

基于所述交互位置坐标、所述待构建索引条的高度以及所述索引条所处侧边栏的位置数据,计算得到所述触点位置相对于展示索引条顶部的高度;

根据所述触点位置相对于展示索引条顶部的高度以及每个索引字符在所述待构建索引条中的显示高度,定位得到用户与所述展示索引条进行人机交互操作时,用户点击的索引字符;

依据所述字符显示样式,显示所述用户点击的索引字符,并基于所述内容显示样式,进行目标内容的展示,其中,所述目标内容为所述用户点击的索引字符相关联的索引内容。

基于上述公开的内容,本发明还配置有触摸回调事件、各个索引字符的显示样式以及各个索引字符相关联的索引内容的显示样式;因此,在用户与绘制的索引条进行人机交互时,可根据不同的操作,来反馈不同的事件,如手指按下、移动或抬起时,均可来触发相应的事件;具体的,则是先定位出用户人机交互时,在展示索引条上的交互位置坐标,然后再根据交互位置坐标确定出用户的触点位置;接着,即可基于交互位置坐标、待构建索引条的高度、每个索引字符的显示高度以及侧边栏的位置数据,来确定出用户在进行人机交互时,所点击的索引字符;最后,即可按照配置的字符显示样式进行该点击索引字符的显示,以及按照内容显示样式,来对该点击索引字符相关联的索引内容进行可视化展示;由此,本发明可自定义用户点击索引条时,每个索引字符的显示方式以及每个索引字符相关联内容的显示方式,如此,提高了索引条构建的扩展性,能够满足不同需求的应用场景,且也无需开发人员重新开发代码,进一步的提高了开发效率。

在一个可能的设计中,所述索引条所处侧边栏的位置数据包括侧边栏高度,其中,基于所述交互位置坐标、所述待构建索引条的高度以及所述索引条所处侧边栏的位置数据,计算得到所述触点位置相对于展示索引条顶部的高度,包括:

获取一定位值,并基于所述定位值和所述侧边栏高度,计算得到第三中间值,以及基于所述定位值和所述待构建索引条的高度,计算得到第四中间值;

计算所述交互位置坐标中的纵坐标与所述第三中间值之间的差值,得到第五中间值;

计算所述第五中间值与所述第四中间值的差值,以在计算完毕后,得到所述触点位置相对于所述展示索引条顶部的高度。

在一个可能的设计中,根据所述触点位置相对于展示索引条顶部的高度以及每个索引字符在所述待构建索引条中的显示高度,定位得到用户与所述展示索引条进行人机交互操作时,用户点击的索引字符,包括:

使用所述触点位置相对于展示索引条顶部的高度,除以所述显示高度,得到第六中间值;

判断所述第六中间值是否处于第一阈值与第二阈值之间,其中,所述第一阈值为0,所述第二阈值为所述索引条填充数据中的索引字符的总个数;

若是,则对所述第六中间值进行取整运算,得到取整结果;

基于所述取整结果,确定出所述用户点击的索引字符。

在一个可能的设计中,所述方法还包括:

若所述第六中间值小于或等于第一阈值,则将所述索引条填充数据中的第一个索引字符作为所述用户点击的索引字符,若所述第六中间值大于或等于所述第二阈值,则将所述索引条填充数据中的最后一个索引字符作为所述用户点击的索引字符。

第二方面,提供了一种列表索引条的构建装置,包括:

配置单元,用于获取待构建索引条的配置文件,其中,所述配置文件包括索引条填充数据、索引条位置数据以及索引条所处侧边栏的位置数据,且索引条填充数据包括若干索引字符;

参数计算单元,用于基于所述配置文件,确定出所述待构建索引条的高度、宽度以及每个索引字符在所述待构建索引条中的显示高度;

绘制单元,用于依据所述待构建索引条的高度和宽度,绘制出索引条框架;

参数计算单元,用于根据所述待构建索引条的宽度、每个索引字符在所述待构建索引条中的显示高度以及所述配置文件中的索引条位置数据和索引条所处侧边栏的位置数据,确定出每个索引字符的中心横坐标以及中心纵坐标;

绘制单元,用于基于每个索引字符的中心横坐标以及中心纵坐标,将各个索引字符填充至所述索引条框架中,以在填充完毕后,完成所述待构建索引条的绘制,得到展示索引条。

第三方面,提供了另一种列表索引条的构建装置,以装置为电子设备为例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述列表索引条的构建方法。

第四方面,提供了一种存储介质,存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述列表索引条的构建方法。

第五方面,提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使计算机执行如第一方面或第一方面中任意一种可能设计的所述列表索引条的构建方法。

有益效果:

(1)本发明通过配置索引条内各个参数的方式,来生成索引条配置文件,并基于该配置文件进行索引条的绘制;如此,当需求发生变化时,开发人员只需更改配置文件,即可实现不同索引条的绘制,而无需依据变更的需求来重新开发代码,由此,本发明相比于传统的索引条构建方法,不仅大大提高了开发效率,还降低了开发的工作量。

(2)本发明可自定义用户点击索引条时,每个索引字符的显示方式以及每个索引字符相关联内容的显示方式,如此,提高了索引条构建的扩展性,能够满足不同需求的应用场景,且也无需开发人员重新开发代码,进一步的提高了开发效率。

附图说明

图1为本发明实施例提供的列表索引条的构建方法的步骤流程示意图;

图2为本发明实施例提供的待构建索引条的位置示意图;

图3为本发明实施例提供的列表索引条的构建装置的结构示意图;

图4为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合附图和实施例或现有技术的描述对本发明作简单地介绍,显而易见地,下面关于附图结构的描述仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。

应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。

应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。

实施例:

参见图1所示,本实施例所提供的列表索引条的构建方法,通过配置索引条内各个参数的方式,来生成索引条配置文件,并基于该配置文件进行索引条的绘制;如此,当需求发生变化时,开发人员只需更改配置文件,即可实现不同索引条的绘制,而无需依据变更的需求来重新开发代码,由此,本方法不仅大大提高了开发效率,还降低了开发的工作量,适用于大规模应用与推广;在本实施例中,举例该方法可以但不限于在Android开发端侧运行,其中,举例所述Android开发端可以但不限于为个人电脑(persona l computer,PC)、平板电脑或智能手机,可以理解的,前述执行主体并不构成对本申请实施例的限定,相应的,本方法的运行步骤可以但不限于如下述步骤S1~S5所示。

S1.获取待构建索引条的配置文件,其中,所述配置文件包括索引条填充数据、索引条位置数据以及索引条所处侧边栏的位置数据,且所述索引条填充数据包括若干索引字符;具体应用时,配置文件包含有各个索引条的通用参数,如索引条与其对应展示视图的顶部、底部以及右侧边之间的距离、索引条内需要填充的字符(如索引字符为字母、数字、字母与数字的组合或特殊符号(如“*、¥、&的等”),当然,可根据实际使用而具体设定)以及索引条所对应侧边栏在展示视图中的位置等等;如此,将前述通用参数抽离出来,形成配置文件,可通过为配置文件中的通用参数赋予不同的值,来得到不同样式和包含不同内容的索引条;因此,本实施例即可在需求发生变更时,通过更改配置文件,来实现索引条的快速构建。

更进一步的,举例所述索引条位置数据可以但不限于包括:第一间距、第二间距以及第三间距,所述索引条所处侧边栏的位置数据可以但不限于包括侧边栏高度以及侧边栏宽度,其中,所述第一间距用于表征所述待构建索引条的顶部与索引条展示视图顶部之间的间距(参见图2所示,图2中的mTopOffset则表示第一间距),所述第二间距用于表征所述待构建索引条的底部与索引条展示视图底部之间的间距(图2中的mBottomOffset则表示第二间距),所述第三间距用于表征所述待构建索引条与索引条展示视图右侧边之间的间距(图2中的mRightOffset则表示第三间距);在本实施例中,侧边栏可布满整个索引条展示视图,即侧边栏高度等于索引条展示视图的高度,侧边栏宽度等于索引条展示视图的宽度;当然,侧边栏的高度和宽度也可根据实际使用而具体设定,在此不限定于前述举例。

在得到待构建索引条的配置文件后,即可基于配置文件,来进行待构建索引条的绘制,如下述步骤S2~S5所示。

S2.基于所述配置文件,确定出所述待构建索引条的高度、宽度以及每个索引字符在所述待构建索引条中的显示高度;具体应用时,待构建索引条的高度、宽度以及每个索引字符的显示高度的计算过程可以但不限于如下述步骤S21~S24所示。

S21.计算所述侧边栏高度与所述第一间距之间的差值,并使用差值减去所述第二间距,得到所述待构建索引条的高度;具体应用时,待构建索引条的高度=侧边栏高度-第一间距-第二间距;而基于上式得出待构建索引条的高度后,则可进行待构建索引条宽度的计算,如下述步骤S22所示。

S22.获取所述索引条填充数据中每个索引字符的字符宽度,并将最大的字符宽度作为所述待构建索引条的宽度;具体应用时,可使用Andro id的原生方法,来得到每个索引字符的字符宽度,而最大的字符宽度,则作为待构建索引条的宽度;同时,在得到待构建索引条和高度宽度后,还需计算索引条填充数据中各个索引字符在待构建索引条中的显示高度,以便后续基于显示高度进行各个索引字符填充位置的计算;在本实施例中,各个索引字符的显示高度是相同,且计算过程如下述步骤S23和步骤S24所示。

S23.基于所述索引条填充数据,确定出所述索引条填充数据的数据长度;具体应用时,索引条填充数据的数据长度可以但不限于为索引字符的总个数;且在得到索引条填充数据的数据长度后,即可借助待构建索引条的高度,来计算出各个索引字符的显示高度,如下述步骤S24所示。

S24.根据所述数据长度和所述待构建索引条的高度,计算得到所述索引条填充数据中每个索引字符在所述待构建索引条中的显示高度;具体应用时,可以但不限于使用待构建索引条的高度除以数据长度,来得到每个索引字符的显示高度。

在基于前述步骤S21~S24,得到待构建索引条的宽度和高度后,则可进行待构建索引条框架的绘制,如下述步骤S3所示。

S3.依据所述待构建索引条的高度和宽度,绘制出索引条框架;具体应用时,由于前述配置文件中,已设置有待构建索引条与索引条展示视图右侧边的距离,以及与索引条展示视图底部之间的距离,因此,可基于前述两数据确定出待构建索引条的起点;而在得知起点后,即可以起点为原点,向索引条展示视图的左侧边方向延伸第一长度(该第一长度等于待构建索引条的宽度),如此,即可得到待构建索引条的一底边;最后,以底边为起始边,垂直向上延伸第二长度(该第二长度为待构建索引条的高度),如此,即可构建得到索引条框架。

而在得到索引条框架后,还需确定出各个索引字符在索引条框架中的填充位置,以便后续基于确定出的填充位置,来进行索引字符的填充;其中,各个索引字符的填充位置的确定过程可以但不限于如下述步骤S4所示。

S4.根据所述待构建索引条的宽度、每个索引字符在所述待构建索引条中的显示高度以及所述配置文件中的索引条位置数据和索引条所处侧边栏的位置数据,确定出每个索引字符的中心横坐标以及中心纵坐标;具体应用时,参见图2所示,由于索引条内的索引字符都是从上至下进行排列的,因此,各个索引字符的中心横坐标是相同的,而不同点仅在于中心纵坐标;所以,本实施例则按照如下步骤S41~S45,来计算得到各个索引字符的中心横纵坐标。

S41.获取一字符标定值,并基于所述字符标定值以及所述待构建索引条的宽度,计算得到第一中间值;具体应用时,使用待构建索引条的宽度除以字符标定值,则可得到第一中间值,同时,举例所述字符标定值可以但不限于为2。

S42.计算所述侧边栏宽度与所述第三间距之间的差值,并使用所述侧边栏宽度与所述第三间距之间的差值减去所述第一中间值,以得到每个索引字符的中心横坐标;具体应用时,各个索引字符的中心横坐标则等于:侧边栏宽度-第三间距-第一中间值;如此,在计算得到各个索引字符的中心横坐标后,则可进行中心纵坐标的计算,如下述步骤S43~S45所示。

S43.对于所述索引条填充数据中的第i个索引字符,计算所述显示高度与j之间的乘积,得到第二中间值,其中,j=i-1,且i为正整数;具体应用时,一般在代码开发过程中,索引字符的下标都是从0开始,因此,对于第i个索引字符,相当于是计算显示高度与第i个索引字符的下标之间的乘积,计算后,则可进行后续的计算,如下述步骤S44所示。

S44.求和所述第一间距、所述第二中间值以及所述显示高度,以将求和结果作为所述第i个索引字符的中心纵坐标;具体实施时,则是将前述乘积加上第一间距和显示高度,则可得到第i个索引字符的中心纵坐标;当然,对于其余各个索引字符,其对应的中心纵坐标的计算过程也是如此,于此不再赘述。

S45.将i自加1,直至i等于n时,得到每个索引字符的中心纵坐标,其中,n为所述索引条填充数据中索引字符的总个数。

如此,不断循环前述步骤S43~S45,即可计算得到每个索引字符的中心纵坐标;而在得到各个索引字符的中心横纵坐标后,即可确定出各个索引字符在索引条框架中的填充位置,而后,则可进行字符的填充,如下述步骤S5所示。

S5.基于每个索引字符的中心横坐标以及中心纵坐标,将各个索引字符填充至所述索引条框架中,以在填充完毕后,完成所述待构建索引条的绘制,得到展示索引条;具体应用时,对于任一索引字符,将其放置至对应中心横纵坐标所表征的位置上,即可完成该任一索引字符的填充,当然,其余索引字符的填充也是如此,于此不再赘述;另外,在本实施例中,还可在配置文件中设置各个索引字符的字符大小、字体以及颜色,如此,还可按照前述配置的大小、字体和颜色进行显示,从而进一步的提高索引条显示内容的多样性。

由此通过前述步骤S1~S5所详细描述的列表索引条的构建方法,本发明通过配置索引条内各个参数的方式,来生成索引条配置文件,并基于该配置文件进行索引条的绘制;如此,当需求发生变化时,开发人员只需更改配置文件,即可实现不同索引条的绘制,而无需依据变更的需求来重新开发代码,由此,本发明相比于传统的索引条构建方法,不仅大大提高了开发效率,还降低了开发的工作量。

在一个可能的设计中,本实施例第二方面在实施例第一方面的基础上进行进一步的优化,即通过配置用户触摸回调事件,在用户对展示索引条进行不同操作时,返回相应的操作事件,如在选择展示索引条中的索引字符时,依据配置的样式进行字符的显示,以及依据配置的样式进行该索引字符相关联内容的显示。

在本实施例中,举例所述配置文件还可以但不限于包括:每个索引字符所关联的索引内容、字符显示样式以及内容显示样式;其中,前述触摸回调事件的运行过程可以但不限于如下述步骤S6~S9所示。

S6.响应于用户与所述展示索引条的人机交互操作时,获取用户在所述展示索引条上的交互位置坐标,以基于所述交互位置坐标,确定出用户在所述展示索引条上的触点位置;具体应用时,用户与展示索引条的人机交互操作可以但不限于包括:手指选择展示索引条、手指移动展示索引条和手指从展示索引条上抬起;可选的,举例交互位置坐标中的横坐标可以但不限于为用户点击展示索引条时与侧边栏左侧边的间距,纵坐标可以但不限于为用户点击展示索引条时与侧边栏顶部之间的间距,当然用户点击位置实质也就是在展示索引条上的触点位置。

在得到用户与展示索引条的交互位置坐标后,则可基于该交互位置坐标来确定出用户在进行人机交互时,在展示索引条中所点击的索引字符;其中,用户所点击的索引字符的确定过程如下述步骤S7和步骤S8所示。

S7.基于所述交互位置坐标、所述待构建索引条的高度以及所述索引条所处侧边栏的位置数据,计算得到所述触点位置相对于展示索引条顶部的高度;在本实施例中,需要先计算出用户在展示索引条上的触点位置相对于展示索引条顶部的高度,然后,借助前述计算出的高度来确定出用户点击的索引字符;具体的,前述触点位置相对于展示索引条顶部的高度的计算过程可以但不限于如下述步骤S71~S73所示。

S72.获取一定位值,并基于所述定位值和所述侧边栏高度,计算得到第三中间值,以及基于所述定位值和所述待构建索引条的高度,计算得到第四中间值;具体应用时,举例可以但不限于使用侧边栏高度除以该定位值,得到第三中间值,以及使用待构建索引条的高度除以该定位值,得到第四中间值;更进一步的,举例该定位值可以但不限于为2。

在得到前述第三和第四中间值后,即可结合交互位置坐标中的纵坐标,来计算出触点位置相对于展示索引条顶部的高度,如下述步骤S72和步骤S73所示。

S72.计算所述交互位置坐标中的纵坐标与所述第三中间值之间的差值,得到第五中间值。

S73.计算所述第五中间值与所述第四中间值的差值,以在计算完毕后,得到所述触点位置相对于所述展示索引条顶部的高度;具体应用时,则是先使用交互位置坐标中的纵坐标减去第三中间值,然后用二者的计算结果减去第四中间值,计算完毕后,最终得到的结果则为触点位置相对于展示索引条顶部的高度;更进一步的,该高度可理解为触点位置与展示索引条顶部之间的间距;而在得到该高度后,即可进行用户点击索引字符的确定,如下述步骤S8所示。

S8.根据所述触点位置相对于展示索引条顶部的高度以及每个索引字符在所述待构建索引条中的显示高度,定位得到用户与所述展示索引条进行人机交互操作时,用户点击的索引字符;具体应用时,本实施例先使用触点位置相对于展示索引条顶部的高度,除以所述显示高度,得到第六中间值;然后基于第六中间值,来进行用户点击字符的确定,具体的,则是先判断所述第六中间值是否处于第一阈值与第二阈值之间,其中,所述第一阈值为0,所述第二阈值为所述索引条填充数据中的索引字符的总个数;若是,则对所述第六中间值进行取整运算,得到取整结果,最后,则可基于所述取整结果,确定出所述用户点击的索引字符;在本实施例中,判断过程不包括边界值,也就是不包括第一阈值和第二阈值,且用户点击的取整结果则是第k个索引字符,且k为取整结果与1的和。

可选的,前述设置的原因为:取整结果相当于是索引字符的下标,而在代码开发过程中,下标大多是从0开始的,因此,下标为0,则代表是第一个索引字符,下标为1,代表的为第二个索引字符;如此,下标加1,则是索引字符的排序位。

另外,当所述第六中间值小于或等于第一阈值时,则将所述索引条填充数据中的第一个索引字符作为所述用户点击的索引字符;在本实施例中,当第六中间值小于0时,则说明用户的触点位置实质在展示索引条的顶部之上,此时,则可将第一个索引字符认定为其想要点击的字符;而若所述第六中间值大于或等于所述第二阈值,则将所述索引条填充数据中的最后一个索引字符作为所述用户点击的索引字符;同理,第六中间值大于第二阈值,则说明用户的触点位置实质为展示索引条的底部之下,因此,可认定用户所点击的索引字符为最后一个字符。

下述以一个实例来阐述前述步骤S8,假设索引条填充数据中索引字符的总个数为26(如A-Z),且第六中间值为2.5,那么,2.5是处于0~26之间的,因此,则需要对2.5进行取整运算,得到的取整结果为2,此时,则用户点击的索引字符则是第3个索引字符,也就是索引字符C,当然,在第六中间值不同的情况下,其原理与前述阐述一致,于此不再赘述。

在确定出用户点击的索引字符后,即可按照前述配置的数据,进行索引字符以及对应内容的显示,如下述步骤S9所示。

S9.依据所述字符显示样式,显示所述用户点击的索引字符,并基于所述内容显示样式,进行目标内容的展示,其中,所述目标内容为所述用户点击的索引字符相关联的索引内容;具体应用时,当用户点击前述确定的索引字符后,则可按照配置的样式进行显示,该字符显示样式可以但不限于包括:缩放显示和/或高亮显示,而该用户点击的索引字符所关联的内容的显示方式则可以但不限于为:以弹窗方式显示或以跳转方式进行显示;当然,前述的显示方式可根据用户需求而具体设定,在此不限定于前述举例。

由此通过前述设计,本发明可自定义用户点击索引条时,每个索引字符的显示方式以及每个索引字符相关联内容的显示方式,如此,提高了索引条构建的扩展性,能够满足不同需求的应用场景,且也无需开发人员重新开发代码,进一步的提高了开发效率。

如图3所示,本实施例第三方面提供了一种实现实施例第一方面和第二方面中所述的列表索引条的构建方法的硬件装置,包括:

配置单元,用于获取待构建索引条的配置文件,其中,所述配置文件包括索引条填充数据、索引条位置数据以及索引条所处侧边栏的位置数据,且索引条填充数据包括若干索引字符。

参数计算单元,用于基于所述配置文件,确定出所述待构建索引条的高度、宽度以及每个索引字符在所述待构建索引条中的显示高度。

绘制单元,用于依据所述待构建索引条的高度和宽度,绘制出索引条框架。

参数计算单元,用于根据所述待构建索引条的宽度、每个索引字符在所述待构建索引条中的显示高度以及所述配置文件中的索引条位置数据和索引条所处侧边栏的位置数据,确定出每个索引字符的中心横坐标以及中心纵坐标。

绘制单元,用于基于每个索引字符的中心横坐标以及中心纵坐标,将各个索引字符填充至所述索引条框架中,以在填充完毕后,完成所述待构建索引条的绘制,得到展示索引条。

本实施例提供的装置的工作过程、工作细节和技术效果,可以参见实施例第一方面和第二方面,于此不再赘述。

如图4所示,本实施例第四方面提供了另一种列表索引条的构建装置,以装置为电子设备为例,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面和/或第二方面所述的列表索引条的构建方法。

具体举例的,所述存储器可以但不限于包括随机存取存储器(random accessmemory,RAM)、只读存储器(Read On ly Memory,ROM)、闪存(F l ash Memory)、先进先出存储器(Fi rst I nput Fi rst Output,FI FO)和/或先进后出存储器(Fi rst I n LastOut,FI LO)等等;具体地,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digita l Signa l Process ing,数字信号处理)、FPGA(Fie ld-Programmab l e Gate Array,现场可编程门阵列)、PLA(Programmab le LogicArray,可编程逻辑阵列)中的至少一种硬件形式来实现,同时,处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Process ing Un it,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。

在一些实施例中,处理器可以在集成有GPU(Graph ics Process ing Un it,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制,例如,所述处理器可以不限于采用型号为STM32F105系列的微处理器、精简指令集计算机(reduced instruct ion setcomputer,RISC)微处理器、X86等架构处理器或集成嵌入式神经网络处理器(neura l-network process ing un its,NPU)的处理器;所述收发器可以但不限于为无线保真(WIFI)无线收发器、蓝牙无线收发器、通用分组无线服务技术(Genera l Packet Rad ioService,GPRS)无线收发器、紫蜂协议(基于I EEE802.15.4标准的低功耗局域网协议,ZigBee)无线收发器、3G收发器、4G收发器和/或5G收发器等。此外,所述装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。

本实施例提供的电子设备的工作过程、工作细节和技术效果,可以参见实施例第一方面和第二方面,于此不再赘述。

本实施例第五方面提供了一种存储包含有实施例第一方面和/或第二方面所述的列表索引条的构建方法的指令的存储介质,即所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面和/或第二方面所述的列表索引条的构建方法。

其中,所述存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory St ick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。

本实施例提供的存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面和第二方面,于此不再赘述。

本实施例第六方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面和/或第二方面所述的列表索引条的构建方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120115931932