一种列表展示方法、装置、电子设备及存储介质
技术领域
本公开涉及计算机
技术领域
,尤其涉及一种列表展示方法、装置、电子设备及存储介质。背景技术
目前,可以通过在客户端的用户界面中展示的列表来实现与用户的交互,该列表可以包括对应不同功能内容的列表项,例如新闻资讯类应用程序的首页列表、视频类应用程序的功能列表等。当需要展示的列表中存在数量较多的列表项时,将全部列表项都展示在一个屏幕中会显得过于拥挤或者根本无法全部展示,基于此,相关技术中的一种处理方式是先折叠一部分列表项,当用户点击特定按钮后再展开展示全部列表项。然而,相关技术中列表展开过程存在布局单一以及互动性差的问题。
发明内容
本公开提供一种列表展示方法、装置、电子设备及存储介质,以至少解决相关技术中列表展开过程存在的布局单一以及互动性差的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种列表展示方法,包括:
显示折叠状态的目标列表;其中,所述折叠状态的目标列表显示M个目标列表项;
响应于对所述折叠状态的目标列表的展开指令,确定处于展开状态下所述目标列表显示的N个目标列表项,其中所述N大于所述M;
确定所述N个目标列表项之间的第一间距;
基于所述N个目标列表项之间的第一间距,展开显示所述折叠状态的目标列表;
其中,所述N个目标列表项的至少一个列表项以预设的第一动画显示效果呈现所述展开的过程。
在一个示例性的实施方式中,所述第一间距不同于折叠状态下显示的所述M个目标列表项之间的第二间距。
在一个示例性的实施方式中,所述确定所述N个目标列表项之间的第一间距,包括:
确定显示所述目标列表的显示区域的区域参数;
基于所述区域参数和展开状态下显示的所述目标列表项的数量N,确定所述N个目标列表项之间的第一间距;
其中,所述区域参数至少包括以下一项:所述显示区域的尺寸和位置。
在一个示例性的实施方式中,所述方法还包括:
在所述展开的过程中,确定目标位置,以所述目标位置为基准,按照所述第一间距将所述目标列表中的所述N个目标列表项展示在所述显示区域。
在一个示例性的实施方式中,所述目标位置为以下任意一项:所述M个目标列表项中前M-1个目标列表项的任意一个列表项的位置;或者,所述显示区域中的预设位置。
在一个示例性的实施方式中,在所述区域参数包括所述显示区域的尺寸时,所述基于所述区域参数和展开状态下显示的所述目标列表项的数量N,确定所述N个目标列表项之间的第一间距,包括:
基于所述显示区域的尺寸与所述数量N确定候选间距;
基于所述候选间距与预设阈值的比对结果,确定所述N个目标列表项之间的第一间距。
在一个示例性的实施方式中,所述方法还包括:
响应于对所述展开状态下的目标列表的移动指令,移动所述N个目标列表项。
在一个示例性的实施方式中,在展开显示所述折叠状态的目标列表之后,所述方法还包括:
响应于对所述展开状态的目标列表的折叠指令,确定所述M个目标列表项之间的第二间距;
基于所述M个目标列表项之间的第二间距,显示所述折叠状态的目标列表;其中,所述N个目标列表项的至少一个列表项以预设的第二动画显示效果呈现所述折叠的过程。
在一个示例性的实施方式中,所述方法还包括:
分别获取所述目标列表在所述折叠状态下和所述展开状态下的布局属性信息;所述布局属性信息表征所述目标列表中各列表项的位置信息和显示属性,所述显示属性包括可见属性和不可见属性;
调用过渡动画执行接口函数,确定所述折叠状态下和所述展开状态下的布局属性信息之间的差异信息,根据所述差异信息生成所述预设的第一动画显示效果或者所述预设的第二动画显示效果。
在一个示例性的实施方式中,所述目标列表为基于系统列表组件的列表视图。
根据本公开实施例的第二方面,提供一种列表展示装置,包括:
显示单元,被配置为执行显示折叠状态的目标列表;其中,所述折叠状态的目标列表显示M个目标列表项;
显示列表项确定单元,被配置为执行响应于对所述折叠状态的目标列表的展开指令,确定处于展开状态下所述目标列表显示的N个目标列表项,其中所述N大于所述M;
第一间距确定单元,被配置为执行确定所述N个目标列表项之间的第一间距;
展开单元,被配置为执行基于所述N个目标列表项之间的第一间距,展开显示所述折叠状态的目标列表;
其中,所述N个目标列表项的至少一个列表项以预设的第一动画显示效果呈现所述展开的过程。
在一个示例性的实施方式中,所述第一间距不同于折叠状态下显示的所述M个目标列表项之间的第二间距。
在一个示例性的实施方式中,所述第一间距确定单元包括:
区域参数确定单元,被配置为执行确定显示所述目标列表的显示区域的区域参数;
第一间距确定子单元,被配置为执行基于所述区域参数和展开状态下显示的所述目标列表项的数量N,确定所述N个目标列表项之间的第一间距;
其中,所述区域参数至少包括以下一项:所述显示区域的尺寸和位置。
在一个示例性的实施方式中,所述展开单元还被配置为执行在所述展开的过程中,确定目标位置,以所述目标位置为基准,按照所述第一间距将所述目标列表中的所述N个目标列表项展示在所述显示区域。
在一个示例性的实施方式中,所述目标位置为以下任意一项:所述M个目标列表项中前M-1个目标列表项的任意一个列表项的位置;或者,所述显示区域中的预设位置。
在一个示例性的实施方式中,在所述区域参数包括所述显示区域的尺寸时,所述第一间距确定子单元包括:
候选间距确定单元,被配置为执行基于所述显示区域的尺寸与所述数量N确定候选间距;
第一确定单元,被配置为执行基于所述候选间距与预设阈值的比对结果,确定所述N个目标列表项之间的第一间距。
在一个示例性的实施方式中,所述装置还包括:
移动单元,被配置为执行响应于对所述展开状态下的目标列表的移动指令,移动所述N个目标列表项。
在一个示例性的实施方式中,所述装置还包括:
第二间距确定单元,被配置为执行响应于对所述展开状态的目标列表的折叠指令,确定所述M个目标列表项之间的第二间距;
折叠单元,被配置为执行基于所述M个目标列表项之间的第二间距,显示所述折叠状态的目标列表;其中,所述N个目标列表项的至少一个列表项以预设的第二动画显示效果呈现所述折叠的过程。
在一个示例性的实施方式中,所述装置还包括:
布局属性信息获取单元,被配置为执行分别获取所述目标列表在所述折叠状态下和所述展开状态下的布局属性信息;所述布局属性信息表征所述目标列表中各列表项的位置信息和显示属性,所述显示属性包括可见属性和不可见属性;
动画效果生成单元,被配置为执行调用过渡动画执行接口函数,确定所述折叠状态下和所述展开状态下的布局属性信息之间的差异信息,根据所述差异信息生成所述预设的第一动画显示效果或者所述预设的第二动画显示效果。
在一个示例性的实施方式中,所述目标列表为基于系统列表组件的列表视图。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述第一方面的列表展示方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面的列表展示方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述第一方面的列表展示方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过响应于对折叠状态的目标列表的展开指令,确定处于展开状态下该目标列表显示的N个目标列表项之间的第一间距,基于该第一间距对折叠状态的目标列表进行展开显示,并在展开的过程中以预设的第一动画效果显示该N个目标列表项中的至少一个列表项,从而将列表的展开过程以预设的动效方式进行呈现,增强了列表展开过程的互动性以及列表布局的灵活多样性,实现了平滑的列表展开过程。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种列表展示方法的应用环境示意图;
图2是根据一示例性实施例示出的一种列表展示方法的流程图;
图3是根据一示例性实施例示出的一种折叠状态下目标列表的布局示意图;
图4是根据一示例性实施例示出的一种目标列表由折叠状态展开到展开状态的示意图;
图5是根据一示例性实施例示出的另一种列表展示方法的流程图;
图6是根据一示例性实施例示出的一种列表展示装置的框图;
图7是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
请参阅图1,其所示为根据一示例性实施例示出的一种列表展示方法的应用环境示意图,该应用环境可以包括终端110和服务器120,该终端110和服务器120之间可以通过有线网络或者无线网络连接。
终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。终端110中可以安装有提供人机交互功能的客户端软件如应用程序(Application,简称为App),该应用程序可以是独立的应用程序,也可以是应用程序中的子程序。示例性的,该应用程序可以是新闻类应用程序、直播类应用程序或者视频类应用程序等。终端110的用户可以通过预先注册的用户信息登录应用程序,该用户信息可以包括账号和密码。
服务器120可以是为终端110中的应用程序提供后台服务的服务器,可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
图2是根据一示例性实施例示出的一种列表展示方法的流程图,如图2所示,以该列表展示方法用于图1中的终端为例,包括以下步骤:
在步骤S201中,显示折叠状态的目标列表。
其中,所述折叠状态的目标列表显示M个目标列表项,可以理解的,M小于展开状态下目标列表中列表项的总数量。
目标列表可以是与当前浏览的客户端界面相匹配的功能列表,在一个示例性的实施方式中,当前浏览的客户端界面可以是视频处理界面,则目标列表可以是用于实现视频处理功能的列表,具体的,该目标列表可以包括多个列表项,每个列表项展示不同的功能内容,例如功能内容可以包括剪切、美化、文字添加、背景虚化等等。在一个示例性的实施方式中,当前浏览的客户端界面也可以是视频拍摄界面,则目标列表可以是用于实现视频拍摄功能的列表,具体的,目标列表中的多个列表项的功能内容可以包括拍照、录像、美化、翻转、音乐、特效等等。目标列表在客户端界面中的设定位置可以不做限定,可以沿客户端界面横向设置,也可以沿客户端界面纵向设置,还可以是由横向设置和纵向设置的配合。
本公开的实施例中,目标列表的展示状态可以包括折叠状态和展开状态,其中,折叠状态下显示目标列表的部分列表项(即M个目标列表项),展开状态下显示的列表项的数量要大于折叠状态下显示的列表项的数量。
在一个示例性的实施方式中,在折叠状态下显示的M个目标列表项可以是高优功能的列表项,也可以是根据用户个性化使用行为确定的频繁使用的功能对应的列表项,M的具体数值可以根据实际情况进行动态调整。
在一个示例性的实施方式中,折叠状态的目标列表显示的M个目标列表项之间具有第二间距,该第二间距可以是预设间距,也可以是根据用于显示目标列表的显示区域的区域参数和该数量M计算得到的计算间距,以目标列表沿屏幕横向展示为例,可以基于显示区域的长度与数量M的比值得到该计算间距。
在一个示例性的实施方式中,目标列表可以为基于系统列表组件的列表视图,示例性的,该系统列表组件可以是RecyclerView,RecyclerView是Android(安卓)系统提供的用于大量数据展示、视图可复用的组件,flexible(可扩展性)是RecyclerView的特点,RecyclerView能够实现横向滚动ListView、横向滚动GridView、瀑布流控件等的功能。
在步骤S203中,响应于对所述折叠状态的目标列表的展开指令,确定处于展开状态下所述目标列表显示的N个目标列表项,其中所述N大于所述M。
在一个示例性的实施方式中,折叠状态下显示的M个目标列表项中的第M个列表项可以用于实现展开指令的触发,当该第M个列表项接收到预设触发事件时可以生成对折叠状态的目标列表进行展开以进入展开状态的展开指令,从而终端可以响应于该展开指令,确定处于展开状态下的目标列表显示的N个目标列表项,示例性的,该数量N可以是目标列表包括的列表项的总数量。其中,预设触发事件可以包括点击事件、触摸事件等等。
在另一个示例性的实施方式中,客户端界面中可以包括用于实现展开指令的触发的目标控件,该目标控件独立于目标列表,当目标列表以折叠状态显示时,该目标控件可以重合在被折叠的列表项之上,当该目标控件接收预设触发事件时可以生成对折叠状态的目标列表进行展开以进入展开状态的展开指令。
在步骤S205中,确定所述N个目标列表项之间的第一间距。
在一个示例性的实施方式中,所述N个目标列表项之间的第一间距不同于折叠状态下显示的所述M个目标列表项之间的第二间距,从而在目标列表展开前后会展示出完全不同的列表布局,既增强了列表展开的互动性又提高了对屏幕空间的利用率。
为了实现列表布局随着显示的列表项的数量动态变化,在一个示例性的实施方式中,所述确定所述N个目标列表项之间的第一间距可以包括:
确定显示所述目标列表的显示区域的区域参数;其中该区域参数至少包括以下一项:所述显示区域的尺寸和位置;
基于所述区域参数和展开状态下显示的所述目标列表项的数量N,确定所述N个目标列表项之间的第一间距。
在一个示例性的实施方式中,区域参数可以包括显示区域的尺寸,所述基于所述区域参数和展开状态下显示的所述目标列表项的数量N,确定所述N个目标列表项之间的第一间距可以包括:
基于所述显示区域的尺寸与所述数量N确定候选间距;
基于所述候选间距与预设阈值的比对结果,确定所述N个目标列表项之间的第一间距。
其中,显示区域的尺寸为目标列表在屏幕上的展开方向上的长度。预设阈值可以根据实际应用中的需要进行设定,一般预设阈值设定的越小,显示区域中显示的目标列表项之间排布的越紧密;反之,预设阈值设定的越大,则显示区域中显示的目标列表项之间排布的相对比较稀疏。
在一个具体的实施方式中,可以计算显示区域的尺寸与数量N的比值,将该比值作为候选间距,在该候选间距超过预设阈值时,可以将该候选间距确定为N个目标列表项之间的第一间距,在该候选间距未超过预设阈值时,可以将该预设阈值确定为N个目标列表项之间的第一间距。
本公开实施例通过基于候选间距与预设阈值的比对结果,确定N个目标列表项之间的第一间距,可以避免显示区域中显示的N个目标列表项之间的间距过小对操作带来的不利影响。
实际应用中,显示所述目标列表的显示区域的区域参数可以以屏幕大小考虑,也可以超过屏幕的尺寸。在显示区域的区域参数超过屏幕尺寸的情况下,允许对展开的目标列表中的N个目标列表项的移动,以使显示区域中位于屏幕之外的目标列表项能够进入屏幕的可视区域供用户使用,提高列表布局的灵活性。基于此,在一个示例性的实施方式中,该方法还可以包括:响应于对所述展开状态下的目标列表的移动指令,移动所述N个目标列表项。
在步骤S207中,基于所述N个目标列表项之间的第一间距,展开显示所述折叠状态的目标列表。
其中,所述N个目标列表项的至少一个列表项以预设的第一动画显示效果呈现所述展开的过程。具体的,预设的第一动画显示效果可以包括对应各列表项位置变动的动画显示效果和对应各列表项可见性变动的动画显示效果,具体的实施中,该预设的第一动画显示效果可以根据实际需要进行设定,例如可以包括平移动画效果、淡出动画效果等。
在一个示例性的实施方式中,在展开显示所述折叠状态的目标列表时,还可以确定目标位置,以所述目标位置为基准,按照所述第一间距将所述目标列表中的所述N个目标列表项展示在所述显示区域,以增强列表展开过程的互动性和平滑性。
在一个示例性的实施方式中,折叠状态下显示的M个目标列表项中的第M个列表项可以用于实现展开指令的触发,则目标位置可以是折叠状态下显示的M个目标列表项中前M-1个目标列表项的任意一个列表项的位置;在另一个示例性的实施方式中,所述目标位置可以是所述显示区域中的预设位置,该预设位置可以根据实际需要进行设定,例如可以设定为显示区域的靠近屏幕边缘的位置。通过设定不同的目标位置,可以实现目标列表以不同的基准来展开,从而进一步增强了列表展开过程的互动性以及列表布局变化的灵活性。
本公开实施例通过响应于对折叠状态的目标列表的展开指令,确定处于展开状态下该目标列表显示的N个目标列表项之间的第一间距,基于该第一间距对折叠状态的目标列表进行展开显示,并在展开的过程中以预设的第一动画显示效果显示该N个目标列表项中的至少一个列表项,从而将列表的展开过程以预设的动效方式进行呈现,增强了列表展开过程的互动性以及列表布局的灵活多样性,实现了平滑的列表展开过程。
另外,当目标列表为基于系统列表组件(如RecyclerView)的列表视图时,本公开实施例在实现列表展开动效的同时还可以实现对于展开的列表项的数量的灵活配置,可以扩展性强,进一步提高了列表布局的灵活多样性。
在一个示例性的实施方式中,展开过程中的动画效果可以通过过渡动画的形成呈现,为了提高展开过程中动画效果的表现和性能,避免动画过程中对列表的刷新,该方法还可以包括:
分别获取所述目标列表在所述折叠状态下和所述展开状态下的布局属性信息;
调用过渡动画执行接口函数,确定所述折叠状态下和所述展开状态下的布局属性信息之间的差异信息,并根据所述差异信息生成预设的第一动画显示效果。
其中,布局属性信息表征目标列表中各列表项的位置信息和显示属性,该显示属性包括可见属性和不可见属性。可以理解的,折叠状态下的布局属性信息表征的是目标列表中各列表项在所述折叠状态下的位置信息和显示属性;展开状态下的布局属性信息表征的是目标列表中各列表项在所述展开状态下位置信息和显示属性。具体的实施中,布局属性信息可以根据相应展示状态下各列表项之间的间距和显示属性确定。
对于折叠状态下的目标列表,包括显示的M个目标列表项,以及被折叠隐藏的列表项,假设展开状态下显示目标列表中的N个目标列表项,则该被折叠隐藏的列表项为N-M个列表项。其中,显示的M个目标列表项之间具有第二间距,该M个目标列表项为可见属性;被折叠隐藏的N-M个列表项之间具有第三间距,且该第三间距为列表项在目标列表展开方向上长度的负值,以目标列表沿屏幕横向展开为例,该第三间距为-W(W为列表项的宽度),该折叠隐藏的N-M个列表项为不可见属性。
需要说明的是,列表项之间分开时其间距为正数,贴合时其间距为0,重叠时其间距为负,而完全重叠时其间距为负的宽度/高度。
实际应用中,在基于数量M计算折叠状态下显示的M个目标列表项之间的第二间距时,需要结合用于触发展开指令的对象的实现形式考虑。
当用于触发展开指令的对象为M个目标列表项中的第M个目标列表项时,第二间距可以为显示区域的尺寸与数量M的比值,此时将该第M个目标列表项与被折叠的N-M个列表项中的第一个列表项之间的间距设置为-W,可以使得该第M个目标列表项与被折叠的N-M个列表项重合。
当用于触发展开指令的对象为独立于目标列表之外的目标控件时,第二间距可以为显示区域的尺寸与数量(M+1)的比值,此时将该第M个目标列表项与被折叠的N-M个列表项中的第一个列表项之间的间距设置为上述的第二间距,并将该目标控件重合在被折叠的N-M个列表项上。如图3是本公开实施例提供的一种折叠状态下目标列表的布局示意图,其中,目标控件独立于目标列表之外,可以与被折叠的列表项位置重叠。
对于展开状态的目标列表,各列表项之间的间距均为第一间距且为可见属性。
图4所示为本公开实施例提供的一种目标列表由折叠状态展开到展开状态的示意图,在该目标列表的折叠状态下显示5个目标列表项,且该5个目标列表项中的第5个列表项即指示展开的“→”可以用于实现折叠状态下的展开指令的触发,通过触发如点击该第5个列表项“→”可以触发对折叠状态的目标列表的展开指令,进而可以通过图4中所示的动画显示效果呈现该目标列表中的所有列表项。
具体的实施中,当触发指示展开的“→”列表项后,可以通过计算确定第一间距,并基于该第一间距和显示属性生成展开状态下的布局属性信息,将该布局属性信息设置到列表组件中,调用系统接口TransitionManager.beginDelayedTransition,传入ChangeBounds()、Fade()等参数,Transition框架会基于折叠状态下的布局属性信息和展开状态下的布局属性信息之间的差异信息生成过渡动画,具体来讲,通过传入ChangeBounds()参数,Transition框架比较位置差异从而生成平移动画,通过传入Fade()参数,Transition框架可以比较可见性差异生成淡出动画。可以理解的,在调用系统接口TransitionManager.beginDelayedTransition时还可以传入其他类型的参数以生成不同类型的动画效果。
在另一个可能的实施方式中,当用于触发展开指令的对象为独立于目标列表之外的目标控件时,还可以为该目标控件添加用于隐藏该目标控件的动画如淡出动画,并在动画结束时,将该目标控件删除。
本公开实施例通过将动画参数计算简化为布局属性信息的计算,从而大大减少了动画过程计算的复杂性和计算量,动画过程不触发列表刷新,稳定性好,提高展开过程中动画效果的表现和性能。
在一个示例性的实施方式中,如图5提供的另一种列表展示方法的流程图所示,在展示显示所述折叠状态的目标列表之后,该方法还可以包括:
在步骤S209中,响应于对所述展开状态的目标列表的折叠指令,确定所述M个目标列表项之间的第二间距。
其中,第二间距可以预设间距,也可以根据显示区域的区域参数与数量M的比值来确定该第二间距,例如可以直接将显示区域的尺寸与数量M的比值作为该第二间距。
在需要实现展开后再折叠的场景下,可以将M个目标列表项中的第M个目标列表项设置为基于预设事件触发展开指令和折叠指令,而在目标列表的展开状态和折叠状态中该第M个目标列表项始终为可见。
在步骤S211中,基于所述M个目标列表项之间的第二间距,显示所述折叠状态的目标列表。
其中,所述N个目标列表项的至少一个列表项以预设的第二动画显示效果呈现所述折叠的过程。具体的,预设的第二动画显示效果可以包括对应各列表项位置变动的动画显示效果和对应各列表项可见性变动的动画显示效果,具体的实施中,该预设的第二动画显示效果可以根据实际需要进行设定,例如可以包括平移动画效果、淡出动画效果等,该预设的第二动画显示效果可以与预设的第一动画显示效果相同也可以不同。
本公开实施例通过以预设的第二动画显示效果呈现列表由展开状态切换至折叠状态的折叠过程,进一步增强了列表展示状态切换过程的互动性以及列表布局的灵活多样性,实现了平滑的列表折叠。
在一个示例性的实施方式中,可以基于所述M个目标列表项之间的第二间距,以及用于实现将剩余的N-M个列表项折叠的第三间距和各列表项的显示属性生成目标列表在折叠状态下的布局属性信息;然后调用过渡动画执行接口函数,确定所述折叠状态下和所述展开状态下的布局属性信息之间的差异信息,并根据所述差异信息生成预设的第二动画显示效果,具体的实施过程可以参见前述对于预设的第一动画显示效果的相关描述,在此不再赘述。
本公开实施例在实现对展开后的目标列表的折叠动效的过程中,将动画参数计算简化为布局属性信息的计算,大大减少了动画过程计算的复杂性和计算量,在实现目标列表折叠动效的同时避免了动画过程中对列表的刷新,提高了列表折叠过程中动画效果的表现和性能。
图6根据一示例性实施例示出的一种列表展示装置框图。参照图6,该列表展示装置600包括显示单元610,显示列表项确定单元620,第一间距确定单元630和展开单元640,其中:
显示单元610,被配置为执行显示折叠状态的目标列表;其中,所述折叠状态的目标列表显示M个目标列表项;
显示列表项确定单元620,被配置为执行响应于对所述折叠状态的目标列表的展开指令,确定处于展开状态下所述目标列表显示的N个目标列表项,其中所述N大于所述M;
第一间距确定单元630,被配置为执行确定所述N个目标列表项之间的第一间距;
展开单元640,被配置为执行基于所述N个目标列表项之间的第一间距,展开显示所述折叠状态的目标列表;
其中,所述N个目标列表项的至少一个列表项以预设的第一动画显示效果呈现所述展开的过程。
在一个示例性的实施方式中,所述第一间距不同于折叠状态下显示的所述M个目标列表项之间的第二间距。
在一个示例性的实施方式中,所述第一间距确定单元包括:
区域参数确定单元,被配置为执行确定显示所述目标列表的显示区域的区域参数;
第一间距确定子单元,被配置为执行基于所述区域参数和展开状态下显示的所述目标列表项的数量N,确定所述N个目标列表项之间的第一间距;
其中,所述区域参数至少包括以下一项:所述显示区域的尺寸和位置。
在一个示例性的实施方式中,所述展开单元还被配置为执行在所述展开的过程中,确定目标位置,以所述目标位置为基准,按照所述第一间距将所述目标列表中的所述N个目标列表项展示在所述显示区域。
在一个示例性的实施方式中,所述目标位置为以下任意一项:所述M个目标列表项中前M-1个目标列表项的任意一个列表项的位置;或者,所述显示区域中的预设位置。
在一个示例性的实施方式中,在所述区域参数包括所述显示区域的尺寸时,所述第一间距确定子单元包括:
候选间距确定单元,被配置为执行基于所述显示区域的尺寸与所述数量N确定候选间距;
第一确定单元,被配置为执行基于所述候选间距与预设阈值的比对结果,确定所述N个目标列表项之间的第一间距。
在一个示例性的实施方式中,所述装置还包括:
移动单元,被配置为执行响应于对所述展开状态下的目标列表的移动指令,移动所述N个目标列表项。
在一个示例性的实施方式中,所述装置还包括:
第二间距确定单元,被配置为执行响应于对所述展开状态的目标列表的折叠指令,确定所述M个目标列表项之间的第二间距;
折叠单元,被配置为执行基于所述M个目标列表项之间的第二间距,显示所述折叠状态的目标列表;其中,所述N个目标列表项的至少一个列表项以预设的第二动画显示效果呈现所述折叠的过程。
在一个示例性的实施方式中,所述装置还包括:
布局属性信息获取单元,被配置为执行分别获取所述目标列表在所述折叠状态下和所述展开状态下的布局属性信息;所述布局属性信息表征所述目标列表中各列表项的位置信息和显示属性,所述显示属性包括可见属性和不可见属性;
动画效果生成单元,被配置为执行调用过渡动画执行接口函数,确定所述折叠状态下和所述展开状态下的布局属性信息之间的差异信息,根据所述差异信息生成所述预设的第一动画显示效果或者所述预设的第二动画显示效果。
在一个示例性的实施方式中,所述目标列表为基于系统列表组件的列表视图。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在一个示例性的实施方式中,还提供了一种电子设备,包括处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行存储器上所存放的指令时,实现本公开实施例中提供的任意一种列表展示方法。
该电子设备可以是终端、服务器或者类似的运算装置,以该电子设备是终端为例,图7是根据一示例性实施例示出的一种用于列表展示的电子设备的框图,具体来讲:
所述终端可以包括RF(Radio Frequency,射频)电路710、包括有一个或一个以上计算机可读存储介质的存储器720、输入单元730、显示单元740、传感器750、音频电路760、WiFi(wireless fidelity,无线保真)模块770、包括有一个或者一个以上处理核心的处理器780、以及电源790等部件。本领域技术人员可以理解,图7中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器780处理;另外,将涉及上行的数据发送给基站。通常,RF电路710包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路710还可以通过无线通信与网络和其他终端通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述终端的使用所创建的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器720还可以包括存储器控制器,以提供处理器780和输入单元730对存储器720的访问。
输入单元730可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元730可包括触敏表面731以及其他输入设备732。触敏表面731,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面731上或在触敏表面731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面731。除了触敏表面731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及所述终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元740可包括显示面板741,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板741。进一步的,触敏表面731可覆盖显示面板741,当触敏表面731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。其中,触敏表面731与显示面板741可以两个独立的部件来实现输入和输入功能,但是在某些实施例中,也可以将触敏表面731与显示面板741集成而实现输入和输出功能。
所述终端还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在所述终端移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于所述终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路760、扬声器761,传声器762可提供用户与所述终端之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一终端,或者将音频数据输出至存储器720以便进一步处理。音频电路760还可能包括耳塞插孔,以提供外设耳机与所述终端的通信。
WiFi属于短距离无线传输技术,所述终端通过WiFi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块770,但是可以理解的是,其并不属于所述终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器780是所述终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行所述终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器780可包括一个或多个处理核心;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
所述终端还包括给各个部件供电的电源790(比如电池),优选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源790还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,所述终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述方法实施例提供的列表展示方法的指令。
在一个示例性的实施方式中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器720,上述指令可由装置700的处理器780执行以完成上述列表展示方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在一个示例性的实施方式中,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本公开实施例中提供的任意一种列表展示方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种语音控制的分屏显示方法及电子设备