一种信息展示方法、装置及存储介质
相关申请的交叉引用
本申请基于申请号为201910461664.0、申请日为2019年05月30日、名称为“一种信息展示方法、装置及存储介质”的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本公开涉及信息技术领域中的信息处理技术,尤其涉及一种信息展示方法、装置及存储介质。
背景技术
信息流是指用户能够通过不断滚动屏幕而持续查看信息的一种信息呈现方式,广泛应用于资讯的展示场景中,比如朋友圈中的社交信息流。然而,在信息流形成的过程中,通常涉及到携带待展示信息(比如图片)的待展示资讯,如何对待展示信息的展示进行布局,是展示待展示资讯的一个重要部分。
现有技术中,当待展示信息中的信息的数量为至少一个时,通常以嵌套的方式进行信息的布局来实现待展示信息的展示;然而,采用嵌套方式进行待展示信息的展示时,待展示信息间的相互关联性大,展示方式复杂,展示时容易出现错误,信息展示装置绘制视图所需的时间多和消耗的功耗大,因此,现有的待展示信息的展示方式复杂度高、健壮性低、效率低和功耗大。
发明内容
本公开实施例提供一种信息展示方法、装置及存储介质。
本公开的技术方案是这样实现的:
第一方面,本公开实施例提供了一种信息展示方法,所述方法包括:
根据预设布局需求,获取预设展示区域的预设行最多视图展示数量和预设行数量;
将所述预设行最多视图展示数量个视图组合为一个行链;
构建所述预设行数量个所述行链,得到展示行链,所述展示行链中的各所述行链间采用位置约束进行信息的展示;
当获取到待展示信息时,基于所述预设行最多视图展示数量,将所述待展示信息在所述展示行链中展示。
在一实施例中,所述基于所述预设行最多视图展示数量,将所述待展示信息在所述展示行链中展示,包括:
根据预设最小展示单元,确定所述待展示信息的信息数量;
获取所述信息数量除以所述预设行最多视图展示数量的第一结果;
基于所述第一结果,分配所述待展示信息在所述展示行链中的第一子展示行链中展示,并设置所述第一子展示行链未展示信息的视图和第二子展示行链中的视图的显示状态,完成所述待展示信息在所述展示行链中的展示,所述第二子展示行链表征所述展示行链中除所述第一子展示行链外的剩余行链。
在一实施例中,所述基于所述第一结果,分配所述待展示信息在所述展示行链中的第一子展示行链中展示,并设置所述第一子展示行链未展示信息的视图和第二子展示行链中的视图的显示状态,完成所述待展示信息在所述展示行链中的展示,包括:
当所述第一结果为整数时,从所述展示行链中获取所述第一结果个所述行链,得到所述第一子展示行链;
将所述待展示信息中所述信息数量个信息,依次平均分配在所述第一子展示行链的每个行链中,得到所述第一子展示行链的每个行链对应的子待展示信息;
将所述子待展示信息依次分配在所述第一子展示行链的每个行链的所述预设行最多视图展示数量个视图中进行展示;
将所述第二子展示行链中的视图设置为隐藏状态,所述隐藏状态表征不显 示视图且不保留视图在所述预设展示区域的占用空间,完成所述显示状态的设置,从而完成所述待展示信息在所述展示行链的展示。
在一实施例中,所述基于所述第一结果,分配所述待展示信息在所述展示行链中的第一子展示行链中展示,并设置所述第一子展示行链未展示信息的视图和第二子展示行链中的视图的显示状态,完成所述待展示信息在所述展示行链中的展示,包括:
当所述第一结果不为整数、且小于1时,从所述展示行链中获取一个所述行链,得到所述第一子展示行链;
将所述待展示信息中所述信息数量个信息,依次分配在所述第一子展示行链的一个行链的所述信息数量个视图中进行展示;
将所述第一子展示行链中未展示信息的视图和所述第二子展示行链中的视图设置为所述隐藏状态,完成所述显示状态的设置,从而完成所述待展示信息在所述展示行链的展示。
在一实施例中,所述基于所述第一结果,分配所述待展示信息在所述展示行链中的第一子展示行链中展示,并设置所述第一子展示行链未展示信息的视图和第二子展示行链中的视图的显示状态,完成所述待展示信息在所述展示行链中的展示,包括:
当所述第一结果不为整数、且大于1时,对所述第一结果向上取整,得到第二结果;
从所述展示行链中获取所述第二结果个所述行链,得到所述第一子展示行链;
获取所述信息数量除以所述第二结果的第三结果;
根据所述第三结果,分配所述待展示信息在所述第一子展示行链中展示,并设置所述第一子展示行链未展示信息的视图和所述第二子展示行链中的视图的所述显示状态,完成所述待展示信息在所述展示行链中的展示。
在一实施例中,所述根据所述第三结果,分配所述待展示信息在所述第一子展示行链中展示,并设置所述第一子展示行链未展示信息的视图和所述第二 子展示行链中的视图的所述显示状态,完成所述待展示信息在所述展示行链中的展示,包括:
当所述第三结果为整数时,将所述待展示信息中所述信息数量个信息依次平均分配在所述第一子展示行链的每个行链中,得到所述第一子展示行链的每个行链对应的子待展示信息;
将所述子待展示信息依次分配在所述第一子展示行链的每个行链的所述第三结果个视图中进行展示;
将所述第一子展示行链中未展示信息的视图和所述第二子展示行链中的视图设置为所述隐藏状态,完成所述显示状态的设置,从而完成所述待展示信息在所述展示行链的展示。
在一实施例中,所述根据所述第三结果,分配所述待展示信息在所述第一子展示行链中展示,并设置所述第一子展示行链未展示信息的视图和所述第二子展示行链中的视图的所述显示状态,完成所述待展示信息在所述展示行链中的展示,包括:
当所述第三结果不为整数时,将所述待展示信息中的每个信息依次分配在所述第一子展示行链的每个行链的每个视图中进行展示;
将所述第一子展示行链中未展示信息的视图设置为不可见状态,所述不可见状态表征不显示视图但保留视图在所述预设展示区域的占用空间;
将所述第二子展示行链中的视图设置为所述隐藏状态,完成所述显示状态的设置,从而完成所述待展示信息在所述展示行链的展示。
在一实施例中,所述第一子展示行链中未展示信息的视图为所述第一子展示行链的每个所述行链中除第一个视图和最后一个视图外的视图。
在一实施例中,所述将所述预设行最多视图展示数量个视图组合为一个行链之前,所述方法还包括:
设置视图的测量方法;
相应地,所述将所述预设行最多视图展示数量个视图组合为一个行链,包括:
将所述预设行最多视图展示数量个设置测量方法后的视图组合为一个所述行链。
在一实施例中,所述基于所述预设行最多视图展示数量,所述将所述待展示信息在所述展示行链中展示,包括:
在展示所述待展示信息时,通过所述测量方法获得所述待展示信息中信息的宽度;
根据所述宽度设置所述待展示信息中信息的高度,得到设置后的待展示信息;
基于所述预设行最多视图展示数量,将所述设置后的待展示信息在所述展示行链中展示。
在一实施例中,所述将所述预设行最多视图展示数量个视图组合为一个行链之前,所述方法还包括:
将视图的宽度设置为预设阈值;
相应地,所述将所述预设行最多视图展示数量个视图组合为一个行链,包括:
将所述预设行最多视图展示数量个设置后的视图组合为一个所述行链。
第二方面,本公开实施例提供了一种信息展示装置,所述信息展示装置包括:
获取单元,用于根据预设布局需求,获取预设展示区域的预设行最多视图展示数量和预设行数量;
组合单元,用于将所述预设行最多视图展示数量个视图组合为一个行链;
构建单元,用于构建所述预设行数量个所述行链,得到展示行链,所述展示行链中的各所述行链间采用位置约束进行信息的展示;
展示单元,用于当获取到待展示信息时,基于所述预设行最多视图展示数量,将所述待展示信息在所述展示行链中展示。
在一实施例中,所述展示单元包括:
确定单元,用于根据预设最小展示单元,确定所述待展示信息的信息数量;
处理单元,用于获取所述信息数量除以所述预设行最多视图展示数量的第一结果;
信息展示单元,用于基于所述第一结果,分配所述待展示信息在所述展示行链中的第一子展示行链中展示,并设置所述第一子展示行链未展示信息的视图和第二子展示行链中的视图的显示状态,完成所述待展示信息在所述展示行链中的展示,所述第二子展示行链表征所述展示行链中除所述第一子展示行链外的剩余行链。
在一实施例中,所述信息展示单元,具体用于当所述第一结果为整数时,从所述展示行链中获取所述第一结果个所述行链,得到所述第一子展示行链;将所述待展示信息中所述信息数量个信息,依次平均分配在所述第一子展示行链的每个行链中,得到所述第一子展示行链的每个行链对应的子待展示信息;将所述子待展示信息依次分配在所述第一子展示行链的每个行链的所述预设行最多视图展示数量个视图中进行展示;将所述第二子展示行链中的视图设置为隐藏状态,所述隐藏状态表征不显示视图且不保留视图在所述预设展示区域的占用空间,完成所述显示状态的设置,从而完成所述待展示信息在所述展示行链的展示。
在一实施例中,所述信息展示单元,具体还用于当所述第一结果不为整数、且小于1时,从所述展示行链中获取一个所述行链,得到所述第一子展示行链;将所述待展示信息中所述信息数量个信息,依次分配在所述第一子展示行链的一个行链的所述信息数量个视图中进行展示;将所述第一子展示行链中未展示信息的视图和所述第二子展示行链中的视图设置为所述隐藏状态,完成所述显示状态的设置,从而完成所述待展示信息在所述展示行链的展示。
在一实施例中,所述信息展示单元,具体还用于当所述第一结果不为整数、且大于1时,对所述第一结果向上取整,得到第二结果;从所述展示行链中获取所述第二结果个所述行链,得到所述第一子展示行链;根据所述信息数量除以所述第二结果对应的第三结果,分配所述待展示信息在所述第一子展示行链中展示,并设置所述第一子展示行链未展示信息的视图和所述第二子展示行链 中的视图的所述显示状态,完成所述待展示信息在所述展示行链中的展示。
在一实施例中,所述信息展示单元,还具体用于当所述第三结果为整数时,将所述待展示信息中所述信息数量个信息依次平均分配在所述第一子展示行链的每个行链中,得到所述第一子展示行链的每个行链对应的子待展示信息;将所述子待展示信息依次分配在所述第一子展示行链的每个行链的所述第三结果个视图中进行展示;将所述第一子展示行链中未展示信息的视图和所述第二子展示行链中的视图设置为所述隐藏状态,完成所述显示状态的设置,从而完成所述待展示信息在所述展示行链的展示。
在一实施例中,所述信息展示单元,还具体用于当所述第三结果不为整数时,将所述待展示信息中的每个信息依次分配在所述第一子展示行链的每个行链的每个视图中进行展示;将所述第一子展示行链中未展示信息的视图设置为不可见状态,所述不可见状态表征不显示视图但保留视图在所述预设展示区域的占用空间;将所述第二子展示行链中的视图设置为所述隐藏状态,完成所述显示状态的设置,从而完成所述待展示信息在所述展示行链的展示。
在一实施例中,所述第一子展示行链中未展示信息的视图为所述第一子展示行链的每个所述行链中除第一个视图和最后一个视图外的视图。
在一实施例中,所述信息展示装置还包括第一设置单元,用于设置视图的测量方法;
相应地,所述组合单元,用于将所述预设行最多视图展示数量个设置测量方法后的视图组合为一个所述行链。
在一实施例中,所述展示单元,具体用于在展示所述待展示信息时,通过所述测量方法获得所述待展示信息中信息的宽度;根据所述宽度设置所述待展示信息中信息的高度,得到设置后的待展示信息;基于所述预设行最多视图展示数量,将所述设置后的待展示信息在所述展示行链中展示。
在一实施例中,所述信息展示装置还包括第二设置单元,用于将视图的宽度设置为预设阈值;
相应地,所述组合单元,用于将所述预设行最多视图展示数量个设置后的 视图组合为一个所述行链。
第三方面,本公开实施例提供了一种电子设备,所述电子设备包括:
通信总线,用于实现存储器与处理器的通信;
所述存储器,用于存储可执行指令;
所述处理器,用于执行所述可执行指令时,实现本公开实施例提供的信息展示方法。
第四方面,本公开实施例提供了一种计算机可读存储介质,其上存储有可执行指令,所述可执行指令被处理器执行时,用于实现本公开实施例提供的信息展示方法。
本公开实施例提供了一种信息展示方法、装置及存储介质,首次,根据预设布局需求,获取预设展示区域的预设行最多视图展示数量和预设行数量;然后,将预设行最多视图展示数量个视图组合为一个行链;再后,构建预设行数量个行链,得到展示行链,展示行链中的各行链间采用位置约束进行信息的展示;最后,当获取到待展示信息时,基于预设行最多视图展示数量,将待展示信息在展示行链中展示。采用上述技术实现方案,由于待展示信息是基于预设行最多视图展示数量在展示行链中完成的信息展示,而展示行链是一种基于预设布局需求通过位置约束的行链构建的信息布局方式,从而,待展示信息之间关联小,展示方式简单,展示时不容易出现错误,信息展示装置绘制视图所需的时间少和消耗的功耗小,因此,待展示信息的展示方式复杂度低、健壮性高、效率高和功耗小。
附图说明
图1是实现本公开实施例的电子设备100的结构示意图;
图2是实现本公开实施例的信息展示装置的一个可选的结构示意图;
图3是实现本公开实施例的电子设备的一个可选的结构示意图;
图4是实现本公开实施例的信息展示方法的一个可选的流程示意图一;
图5a-5i是实现本公开实施例的一种示例性的待展示信息的展示示意图;
图6是实现本公开实施例的信息展示方法的一个可选的流程示意图二。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
下面参见图1,图1是实现本公开实施例的电子设备(例如图1中的电子设备或服务器)100的结构示意图。电子设备可以是各种终端,包括移动电话、笔记本电脑、数字广播接收器、个人数字助理(PDA,Personal Digital Assistant)、平板电脑(PAD)、便携式多媒体播放器(PMP,Portable Media Player)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字电视(TV)、台式计算机等等的固定终端。图1示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图1所示,电子设备100可以包括处理装置(例如中央处理器、图形处理器等)110,其可以根据存储在只读存储器(ROM,Read-Only Memory)120中的程序或者从存储装置180加载到随机访问存储器(RAM,Random Access Memory)130中的程序而执行各种适当的动作和处理。在RAM 130中,还存储有电子设备100操作所需的各种程序和数据。处理装置110、ROM 120以及RAM 130通过总线140彼此相连。输入/输出(I/O,Input/Output)接口150也连接至总线140。
通常,以下装置可以连接至I/O接口150:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置160;包括例如液晶显示器(LCD,Liquid Crystal Display)、扬声器、振动器等的输出装置170;包 括例如磁带、硬盘等的存储装置180;以及通信装置190。通信装置190可以允许电子设备100与其他设备进行无线或有线通信以交换数据。虽然图1示出了具有各种装置的电子设备100,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开实施例,所提供的流程图描述的过程可以被实现为计算机软件程序。例如,本公开实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,计算机程序可以通过通信装置190从网络上被下载和安装,或者从存储装置180被安装,或者从ROM 120被安装。在计算机程序被处理装置110执行时,执行本公开实施例的方法中的功能。
需要说明的是,本公开实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、ROM、可擦式可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括电线、光缆、射频(RF,Radio Frequency) 等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备100中所包含的;也可以是单独存在,而未装配入电子设备100中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备100执行时,使得电子设备100执行本公开实施例提供的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开实施例中操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN,Local Area Network))和广域网(WAN,Wide Area Network),以连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本公开实施例所涉及到的电子设备中的单元和/或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。
对于硬件的方式来说,实现本公开实施例的电子设备的单元和/或模块可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件实现,用于执行实现本公开实施例提供的方法。
对于软件的方式来说,实现本公开实施例的信息展示方法的电子设备中的单元和/或模块可以被两个或以上的单元实现,
下面以软件的方式为例,示例性说明实现本公开实施例的数据处理方法的装置中单元和/或模块。
参见图2,图2是实现本公开实施例的信息展示装置的一个可选的结构示 意图,示出了存储在存储装置180的信息展示装置200对应的如下软件模块:
获取单元201,用于根据预设布局需求,获取预设展示区域的预设行最多视图展示数量和预设行数量;
组合单元202,用于将所述预设行最多视图展示数量个视图组合为一个行链;
构建单元203,用于构建所述预设行数量个所述行链,得到展示行链,所述展示行链中的各所述行链间采用位置约束进行信息的展示;
展示单元204,用于当获取到待展示信息时,基于所述预设行最多视图展示数量,将所述待展示信息在所述展示行链中展示。
在一实施例中,所述展示单元204包括:
确定单元2041,用于根据预设最小展示单元,确定所述待展示信息的信息数量;
处理单元2042,用于获取所述信息数量除以所述预设行最多视图展示数量的第一结果;
信息展示单元2043,用于基于所述第一结果,分配所述待展示信息在所述展示行链中的第一子展示行链中展示,并设置所述第一子展示行链未展示信息的视图和第二子展示行链中的视图的显示状态,完成所述待展示信息在所述展示行链中的展示,所述第二子展示行链表征所述展示行链中除所述第一子展示行链外的剩余行链。
在一实施例中,所述信息展示单元2043,具体用于当所述第一结果为整数时,从所述展示行链中获取所述第一结果个所述行链,得到所述第一子展示行链;将所述待展示信息中所述信息数量个信息,依次平均分配在所述第一子展示行链的每个行链中,得到所述第一子展示行链的每个行链对应的子待展示信息;将所述子待展示信息依次分配在所述第一子展示行链的每个行链的所述预设行最多视图展示数量个视图中进行展示;将所述第二子展示行链中的视图设置为隐藏状态,所述隐藏状态表征不显示视图且不保留视图在所述预设展示区域的占用空间,完成所述显示状态的设置,从而完成所述待展示信息在所述展 示行链的展示。
在一实施例中,所述信息展示单元2043,具体还用于当所述第一结果不为整数、且小于1时,从所述展示行链中获取一个所述行链,得到所述第一子展示行链;将所述待展示信息中所述信息数量个信息,依次分配在所述第一子展示行链的一个行链的所述信息数量个视图中进行展示;将所述第一子展示行链中未展示信息的视图和所述第二子展示行链中的视图设置为所述隐藏状态,完成所述显示状态的设置,从而完成所述待展示信息在所述展示行链的展示。
在一实施例中,所述信息展示单元2043,具体还用于当所述第一结果不为整数、且大于1时,对所述第一结果向上取整,得到第二结果;从所述展示行链中获取所述第二结果个所述行链,得到所述第一子展示行链;获取所述信息数量除以所述第二结果的第三结果;根据所述第三结果,分配所述待展示信息在所述第一子展示行链中展示,并设置所述第一子展示行链未展示信息的视图和所述第二子展示行链中的视图的所述显示状态,完成所述待展示信息在所述展示行链中的展示。
在一实施例中,所述信息展示单元2043,还具体用于当所述第三结果为整数时,将所述待展示信息中所述信息数量个信息依次平均分配在所述第一子展示行链的每个行链中,得到所述第一子展示行链的每个行链对应的子待展示信息;将所述子待展示信息依次分配在所述第一子展示行链的每个行链的所述第三结果个视图中进行展示;将所述第一子展示行链中未展示信息的视图和所述第二子展示行链中的视图设置为所述隐藏状态,完成所述显示状态的设置,从而完成所述待展示信息在所述展示行链的展示。
在一实施例中,所述信息展示单元2043,还具体用于当所述第三结果不为整数时,将所述待展示信息中的每个信息依次分配在所述第一子展示行链的每个行链的每个视图中进行展示;将所述第一子展示行链中未展示信息的视图设置为不可见状态,所述不可见状态表征不显示视图但保留视图在所述预设展示区域的占用空间;将所述第二子展示行链中的视图设置为所述隐藏状态,完成所述显示状态的设置,从而完成所述待展示信息在所述展示行链的展示。
在一实施例中,所述第一子展示行链中未展示信息的视图为所述第一子展示行链的每个所述行链中除第一个视图和最后一个视图外的视图。
在一实施例中,所述信息展示装置还包括第一设置单元205,用于设置视图的测量方法;
相应地,所述组合单元202,用于将所述预设行最多视图展示数量个设置测量方法后的视图组合为一个所述行链。
在一实施例中,所述展示单元204,具体用于在展示所述待展示信息时,通过所述测量方法获得所述待展示信息中信息的宽度;根据所述宽度设置所述待展示信息中信息的高度,得到设置后的待展示信息;基于所述预设行最多视图展示数量,将所述设置后的待展示信息在所述展示行链中展示。
在一实施例中,所述信息展示装置还包括第二设置单元206,用于将视图的宽度设置为预设阈值;
相应地,所述组合单元202,用于将所述预设行最多视图展示数量个设置后的视图组合为一个所述行链。
需要说明的是,在实际应用中,上述获取单元201、组合单元202、构建单元203、展示单元204(包括确定单元2041、处理单元2042和信息展示单元2043)、第一设置单元205和第二设置单元206可由位于电子设备300上的处理器301实现,具体为CPU(Central Processing Unit,中央处理器)、MPU(Microprocessor Unit,微处理器)、DSP(Digital Signal Processing,数字信号处理器)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
本公开实施例提供了一种电子设备300,如图3所示,所述电子设备300包括:
通信总线302,用于实现存储器303与处理器301的通信;
所述存储器303,用于存储可执行指令;
所述处理器301,用于执行所述可执行指令时,实现本公开实施例提供的信息展示方法。
本公开实施例提供了一种计算机可读存储介质,其上存储有可执行指令, 所述可执行指令被处理器执行时,用于实现本公开实施例提供的信息展示方法。
需要指出,上述单元的分类并不构成对电子设备本身的限定,例如一些单元可以拆分为两个或以上的子单元,或者,一些单元可以合并为一个新的单元。
还需要指出,上述单元的名称在某种情况下并不构成对单元本身的限定。
基于同样的理由,电子设备中未详尽描述的单元和/或模块不代表相应的单元和/或模块的缺省,凡是电子设备所执行的操作都可以通过电子设备中的相应的单元和/或模块实现。
继续参见图4,图4是实现本公开实施例的信息展示方法的一个可选的流程示意图一,以处理装置801从只读存储器(ROM)102中的程序或者从存储装置180加载到随机访问存储器(RAM)103中的程序为客户端为例,结合图4示出的步骤说明在电子设备中的客户端实现本公开实施例提供的信息展示方法的过程。如图4所示,该信息展示方法包括:
S101、根据预设布局需求,获取预设展示区域的预设行最多视图展示数量和预设行数量。
在本公开实施例中,电子设备在预设展示区域中进行信息的展示时对应有预设布局需求(比如,九宫格或十六宫格),该预设布局需求用于确定要展示的信息在预设展示区域中的组织排列方式;从而,电子设备能够根据该预设布局需求确定出预设展示区域的每行中最多展示的视图数量,以及预设展示区域中最多展示的行的数量,此时,电子设备也就获得了预设展示区域的预设行最多视图展示数量和预设行数量。
需要说明的是,预设展示区域表征用于展示信息的区域,可以是显示屏幕,也可以是显示屏幕中的部分显示区域,还可以是其他能够呈现信息的区域,本公开实施例对此不作具体限定;而预设行最多视图展示数量表征预设展示区域的每行中最多展示的视图数量,预设行数量表征预设展示区域中最多展示的行的数量;另外,电子设备可以是手机、电脑、移动互联网设备或穿戴式设备等具有显示屏幕的设备,本公开实施例对此不作具体限定。
示例性地,当预设展示区域对应的预设布局需求为九宫格时,电子设备能 够获取到每行显示的视图数量为3(预设行最多视图展示数量)以及显示视图的行数量为3(预设行数量)。
S102、将预设行最多视图展示数量个视图组合为一个行链。
在本公开实施例中,当电子设备获得了预设行最多视图展示数量之后,由于预设行最多视图展示数量表征了预设展示区域的每行中最多展示的视图数量,因此,电子设备能够通过将预设行最多视图展示数量个视图进行组合来得到一个行;另外,又由于电子设备通过约束布局的方式进行信息的排列组合,而在约束布局中,链是由多个视图组合而成,包括水平和竖直两种形式的链,从而,电子设备能够将预设行最多视图展示数量个视图组合为一个行链,这里,行链就是水平形式的链。
S103、构建预设行数量个行链,得到展示行链,展示行链中的各行链间采用位置约束进行信息的展示。
在本公开实施例中,当电子设备确定了行链,以及确定了预设展示区域中最多展示的行的数量即预设行数量之后,就能够在预设展示区域创建出预设数量个行链,此时,电子设备也就获得了展示行链;并且,在展示行链中,行链间采用位置约束进行信息的布局,来实现信息的展示。
需要说明的是,展示行链为根据预设布局需求确定的视图的组织排列方式,并且,展示行链为预设行数量个行链。而位置约束表征通过设置与参照物间的相对位置实现自身的位置的确定的方式,这里,参照物可以是行链,还可以是其他信息。
示例性地,当电子设备确定了3(预设行最多视图展示数量)个视图组合成一个行链,以及预设行数量为3时,就能够创建3个行链,也就得到了展示行链;此时,3个行链中各行链的排列方式,通过位置约束实现,比如,对于第2个行链的布局,通过设置第2个行链的顶部位置约束在第一个行链的底部来实现。
S104、当获取到待展示信息时,基于预设行最多视图展示数量,将待展示信息在展示行链中展示。
在本公开实施例中,当预设展示区域中有要展示的信息时,电子设备也就获取到了待展示信息;此时,电子设备基于预设行最多视图展示数量,确定待展示信息中的信息在展示行链的行链中视图的展示位置,并在该展示位置展示该待展示信息,也就实现了基于预设行最多视图展示数量,将待展示信息在展示行链中展示,从而也就完成了待展示信息在预设展示区域的展示。
需要说明的是,待展示信息表征预设展示区域中要展示的信息,比如,图片、视频或文件等。
可以理解的是,电子设备通过约束布局构建预设布局需求对应的展示行链,而展示行链中的各行链间采用位置约束进行信息的展示,因此当电子设备将待展示信息在展示行链中展示时,避免了采用嵌套的方式进行待展示信息的布局,减少了信息冗余,简化了待展示信息的实现过程,提升了展示性能;同时,也提升了待展示信息的布局灵活性。
进一步地,在本公开实施例S104中电子设备基于预设行最多视图展示数量,将待展示信息在展示行链中展示,具体包括S104a-S104c:
S104a、根据预设最小展示单元,确定待展示信息的信息数量。
在本公开实施例中,电子设备中设置有预设最小展示单元,用于表征在预设展示区域展示的最小的展示单元,比如,一张图片,又或者,一张图片和一段文字;从而,当电子设备获得了待展示信息并进行展示时,根据预设最小展示单元就能够确定出待展示信息中包含的预设最小展示单元的数量,也就确定出了待展示信息的信息数量。
示例性地,当预设最小展示单元为一张图片,待展示信息为3张图片时,确定出的信息数量为待展示信息的图片数量3。
S104b、获取信息数量除以预设行最多视图展示数量的第一结果。
在本公开实施例中,电子设备进行待展示信息的展示时,在获得了信息数量和预设行最多视图展示数量之后,通过将信息数量除以预设行最多视图展示数量,也就得到了待展示信息在展示行链中进行展示时占用的行链对应的数量即第一结果;这里,占用指电子设备将待展示信息中的信息填充在行链中。
需要说明的时,这里的第一结果表征除运算的精确结果,比如,当信息数量为4,预设行最多视图展示数量为3时,该结果为4/3。
S104c、基于第一结果,分配待展示信息在展示行链中的第一子展示行链中展示,并设置第一子展示行链未展示信息的视图和第二子展示行链中的视图的显示状态,完成待展示信息在展示行链中的展示,第二子展示行链表征展示行链中除第一子展示行链外的剩余行链。
在本公开实施例中,当电子设备获得了第一结果之后,也就确定了展示行链中用于展示待展示信息的行链,这里称为第一子展示行链,从而将待展示信息分配在第一子展示行链中进行展示;另外,展示行链中,除第一子展示行链之外若还存在剩余的行链,则将展示行链中除第一子展示行链外的剩余行链称为第二子展示行链;易知,第一子展示行链和第二子展示行链共同构成了展示行链,第二子展示行链中无信息填充。
需要说明的是,第一子展示行链中的每个视图并不一定都填充有信息,这与信息数量和第一结果相关;而对于第一子展示行链中未填充信息的视图,以及第二子展示行链中未填充信息的视图,电子设备还需要进行显示状态的设置,才能使得待展示信息在第一子展示行链中的展示结果满足预设布局需求,从而才能完成待展示信息在展示行链中的展示。
进一步地,第一子展示行链具体包含的行链的数量与第一结果是相关的,电子设备根据第一结果确定第一子展示行链,并根据确定的第一子展示行链确定第二子展示行链,以及设置第一子展示行链未展示信息的视图和第二子展示行链中的视图的显示状态,完成待展示信息在展示行链中的展示。
具体地,本公开实施例中的S104c的具体执行过程包括三种情况下的技术方案,第一种是第一结果为整数时在展示行链中展示待展示信息的技术方案,对应于S104c1-S104c4;第二种是第一结果不为整数、且小于1时在展示行链中展示待展示信息的技术方案,对应于S104c5-S104c7;第三种是第一结果不为整数、且大于1时在展示行链中展示待展示信息的技术方案,对应于S104c8-S104c11。
首先,第一结果为整数时在展示行链中展示待展示信息的执行步骤S104c1-S104c4如下所示:
S104c1、当第一结果为整数时,从展示行链中获取第一结果个行链,得到第一子展示行链。
在本公开实施例中,当电子设备获得了信息数量除以预设行最多视图展示数量的第一结果之后,由于该第一结果表征的为精确结果,而该精确结果包括整数和非整数两种情况;这里,当第一结果为整数时,也就明确了待展示信息在展示行链中要占用的行链的数量为该第一结果,从而电子设备从展示行链中获取该第一结果个行链,也就获得了待展示信息在展示行链中要占用的行链,这里,待展示信息在展示行链中要占用的行链即为第一子展示行链。
需要说明的是,电子设备从展示行链中选择第一结果个行链作为第一子展示行链时,可以是从展示行链中任意选择第一结果个行链,也可以是从展示行链中依次选择第一结果个行链,等等,本公开实施例对此不作具体限定。
S104c2、将待展示信息中信息数量个信息,依次平均分配在第一子展示行链的每个行链中,得到第一子展示行链的每个行链对应的子待展示信息。
需要说明的是,子待展示信息表征待展示信息在第一子展示行链的每个行链要展示的信息,子待展示信息的数量与第一自展示行链中行链的数量一致,且子待展示信息与第一自展示行链中的每个行链一一对应。
S104c3、将子待展示信息依次分配在第一子展示行链的每个行链的预设行最多视图展示数量个视图中进行展示。
在本公开实施例中,电子设备将子待展示信息中的每个信息作为预设最小展示单元,依次平均分配在对应的第一子展示行链的每个行链的每个视图中进行展示。
需要说明的是,第一子展示行链的每个行链中的每个视图用于展示预设最小展示单元,即用于展示对应的子待展示信息中的一个信息。
这里,由于信息数量除以预设行最多视图展示数量的结果为整数,因此,待展示信息的信息数量个信息能够将第一子展示行链中每个行链的视图填充满, 不存在未被信息填充的视图。
另外,为了实现S104c2-S104c3之前,还需要对待展示信息中信息数量个信息进行编号排序。
S104c4、将第二子展示行链中的视图设置为隐藏状态,隐藏状态表征不显示视图且不保留视图在预设展示区域的占用空间,完成显示状态的设置,从而完成待展示信息在展示行链的展示。
在本公开实施例中,当电子设备完成了待展示信息在展示行链中的第一子展示行链的展示之后,如果展示行链中还存在除第一子展示行链之外的行链,即第二子展示行链;由于第二子展示行链中无信息可填充,因此,电子设备将第二子展示行链中的视图设置为隐藏状态;此时,也就完成了待展示信息在展示行链的展示。
需要说明的是,隐藏状态表征不显示视图且不保留视图在预设展示区域的占用空间,比如,将“View”标签(视图)设置为“GONE”(隐藏状态)。
另外,如果当电子设备完成了待展示信息在展示行链中的第一子展示行链的展示之后,展示行链中不存在第二展示行链,则不执行S104c4,执行完S104c3之后,也就完成了待展示信息在展示行链的展示。
示例性地,当展示行链包含3个行链,以及每个行链由3个视图组合而成时:
如果电子设备获得的待展示信息为3张图片,确定的信息数量为3;由于信息数量3除以行链中视图数量3的结果为1,因此,电子设备从3个行链中选择一个行链(第一子展示行链)进行3张图片的展示,具体地,将3张图片进行编号排序后依次填充在选择的一个行链中的每个视图中;另外,将3个行链中未被选择的其他两个行链(第二子展示行链)中的视图均设为隐藏状态,也就完成了3张图片的展示。待展示信息的显示效果如图5c所示。
如果电子设备获得的待展示信息为6张图片,确定的信息数量为6;由于信息数量6除以行链中视图数量3的结果为2,因此,电子设备从3个行链中选择两个行链(第一子展示行链)进行6张图片的展示,具体地,将6张图片 进行编号排序后,确定在选择的两个行链的每个行链的子待展示信息(对于选择的两个行链的第一个行链,为6张图片中的前3张图片;对于选择的两个行链的第二个行链,为6张图片中的后3张图片),并将每个子待展示信息中的每张图片填充在对应的行链的每个视图中;另外,将3个行链中未被选择的剩余一个行链(第二子展示行链)中的视图均设为隐藏状态,也就完成了6张图片的展示。待展示信息的显示效果如图5f所示。
如果电子设备获得的待展示信息为9张图片,确定的信息数量为9;由于信息数量9除以行链中视图数量3的结果为3,因此,电子设备从3个行链中选择三个行链(第一子展示行链)进行9张图片的展示,具体地,将9张图片进行编号排序后,确定在选择的三个行链的每个行链的子待展示信息(对于选择的三个行链的第一个行链,为9张图片中的前3张图片;对于选择的两个行链的第二个行链,为9张图片中的中间3张图片;对于选择的两个行链的第三个行链,为9张图片中的后3张图片),并将每个子待展示信息中的每张图片填充在对应的行链每个视图中,也就完成了9张图片的展示。待展示信息的显示效果如图5i所示。
至此,已完成了第一结果为整数时在展示行链中展示待展示信息的技术方案。
其次,第一结果不为整数、且小于1时在展示行链中展示待展示信息的执行步骤S104c5-S104c7如下所示:
S104c5、当第一结果不为整数、且小于1时,从展示行链中获取一个行链,得到第一子展示行链。
在本公开实施例中,当电子设备获得了信息数量除以预设行最多视图展示数量的第一结果之后,如果第一结果为非整数,即当第一结果不为整数时,信息装置将第一结果与1进行比较,以确定待展示信息在展示行链的具体展示方式;这里,电子设备分两种情况进行第一结果不为整数时的待展示信息的展示,这两种情况的划分条件即判断第一结果是否小于1,从而得到第一结果小于1和第一结果大于1的两种情况。
这里,如果电子设备获得的判断第一结果是否小于1的判断结果表征第一结果小于1时,即第一结果不为整数且小于1时,表明待展示信息在展示行链中要占用的行链的数量为1,从而电子设备从展示行链中获取一个行链,也就获得了待展示信息在展示行链中要占用的行链即第一子展示行链;这里,第一子展示行链中包含1个行链。
需要说明的是,电子设备从展示行链中选择一个行链作为第一子展示行链时,可以是从展示行链中任意选择一个行链,也可以是从展示行链中选择第一个行链,等等,本公开实施例对此不作具体限定。
S104c6、将待展示信息中信息数量个信息依次分配在第一子展示行链的一个行链的信息数量个视图中进行展示。
在本公开实施例中,当电子设备确定了用于展示待展示信息的第一子展示行链之后,就能够在第一子展示行链中进行待展示信息的展示;具体地,将待展示信息的信息数量个信息中的每个信息作为预设最小展示单元,并对待展示信息中信息数量个信息进行编号排序,进而将编号排序的待展示信息中信息数量个信息依次分配在第一子展示行链的一个行链的信息数量个视图中进行展示。
需要说明的是,由于待展示信息中信息数量小于第一子展示行链的一个行链的视图数量,因此,电子设备将待展示信息中信息数量个的信息依次分配在第一子展示行链的一个行链的信息数量个视图中进行展示时,是将待展示信息中信息数量个的信息依次分配在第一子展示行链的一个行链的任意信息数量个具有顺序的视图中的。
S104c7、将第一子展示行链中未展示信息的视图和展示行链中的第二子展示行链中的视图设置为隐藏状态,完成显示状态的设置,从而完成待展示信息在展示行链的展示。
在本公开实施例中,由于待展示信息中信息数量小于第一子展示行链的一个行链的视图数量,因此,第一子展示行链的一个行链中存在未展示信息的视图,即第一子展示行链中未展示信息的视图;另外,展示行链中可能还存在除第一子展示行链之外的行链,即如果存在第二子展示行链,则,第二子展示行 链中无信息可填充;因此,电子设备将第一子展示行链中未展示信息的视图和第二子展示行链中的视图均设置为隐藏状态;此时,也就完成了显示状态的设置,从而完成了待展示信息在展示行链的展示。
需要说明的是,如果当电子设备完成了待展示信息在展示行链中的第一子展示行链的展示之后,展示行链中不存在第二展示行链,则电子设备在执行S104c7时,仅将第一子展示行链中未展示信息的视图设置为隐藏状态,也就完成了显示状态的设置,从而完成了待展示信息在展示行链的展示。
另外,当待展示信息的信息数量为1时,除了通过S104c5--S104c7描述的实现过程实现待展示信息的展示时,还可以采用其他展示方式(比如,电子设备将待展示信息填充在任意行链中的任意一个视图中),本公开实施例对此不作具体限定。
示例性地,当展示行链包含3个行链,以及每个行链由3个视图组合而成时:
如果电子设备获得的待展示信息为1张图片,确定的信息数量为1;由于信息数量1除以行链中视图数量3的结果为1/3,且小于1,因此,电子设备从3个行链中选择一个行链(第一子展示行链)进行1张图片的展示,具体地,将1张图片填充在选择的一个行链中的第一个视图或者第二个视图或者第三视图中,从而选择的一个行链中存在两个未展示信息的视图;这里,电子设备将选择的一个行链中的两个未展示信息的视图和3个行链中未被选择的其他两个行链(第二子展示行链)中的视图均设为隐藏状态,也就完成了1张图片的展示。待展示信息的显示效果如图5a所示。
如果电子设备获得的待展示信息为2张图片,确定的信息数量为2;由于信息数量2除以行链中视图数量3的结果为2/3,且小于1,因此,电子设备从3个行链中选择一个行链(第一子展示行链)进行2张图片的展示,具体地,将2张图片进行编号排序后依次填充在选择的一个行链中的任意两个视图(信息数量个视图)中,从而选择的一个行链中存在一个未展示信息的视图;这里,电子设备将选择的一个行链中的一个未展示信息的视图和3个行链中未被选择 的其他两个行链(第二子展示行链)中的视图均设为隐藏状态,也就完成了2张图片的展示。待展示信息的显示效果如图5b所示。
至此,已完成了第一结果不为整数、且小于1时在展示行链中展示待展示信息的技术方案。
最后,第一结果不为整数、且大于1时在展示行链中展示待展示信息的执行步骤S104c8-S104c11如下所示:
S104c8、当结果不为整数、且大于1时,对第一结果向上取整,得到第二结果。
在本公开实施例中,如果电子设备获得的判断第一结果是否小于1的判断结果表征第一结果大于1时,即当第一结果不为整数、且大于1时,电子设备对第一结果进行向上取整处理,从而得到第二结果,以根据第二结果进行待展示信息在展示行链中的展示。
S104c9、从展示行链中获取第二结果个行链,得到第一子展示行链。
在本公开实施例中,当电子设备对第一结果向上取整之后,也就明确了待展示信息在展示行链中要占用的行链的数量为该第二结果,从而电子设备从展示行链中获取该第二结果个行链,也就获得了第一子展示行链。这里,由于结果大于1,第一子展示行链中包含至少两个行链。
S104c10、获取信息数量除以第二结果的第三结果。
在本公开实施例中,当电子设备获得了第一子展示行链之后,还需要进一步获取信息数量除以第二结果的第三结果,以根据第三结果具体确定待展示信息在展示行链中的展示方式。
S104c11、根据第三结果,分配待展示信息在第一子展示行链中展示,并设置第一子展示行链未展示信息的视图和第二子展示行链中的视图的显示状态,完成待展示信息在展示行链中的展示。
在本公开实施例中,当电子设备获得了第三结果之后,就能根据第三结果是否为整数的判断结果,分配待展示信息在第一子展示行链中展示,并设置第一子展示行链未展示信息的视图和第二子展示行链中的视图的显示状态了,也 就能够完成待展示信息在展示行链中的展示。
进一步地,本公开实施例S104c11中电子设备根据第三结果,分配待展示信息在第一子展示行链中展示,并设置第一子展示行链未展示信息的视图和第二子展示行链中的视图的显示状态,完成待展示信息在展示行链中的展示,具体包括S104c11a-S104c11e。
S104c11a、当第三结果为整数时,将待展示信息中信息数量个信息依次平均分配在第一子展示行链的每个行链中,得到第一子展示行链的每个行链对应的子待展示信息。
在本公开实施例中,当电子设备获得了第一子展示行链之后,如果第三结果为整数,电子设备将待展示信息中信息数量个信息依次平均分配在第一子展示行链的每个行链中进行展示,而每个行链中要展示的信息即子待展示信息。易知,子待展示信息中包含第三结果个信息。
S104c11b、将子待展示信息依次分配在第一子展示行链的每个行链的第三结果个视图中进行展示。
在本公开实施例中,当电子设备获得了第一子展示行链的每个行链对应的子待展示信息之后,由于子待展示信息中包含第三结果个信息,因此,从子待展示信息对应的第一子展示行链的每个行链中任意选择的具有顺序结构的第三结果个视图,并将包含第三结果个信息的子待展示信息中的每个信息作为预设最小展示单元,将子待展示信息依次分配在该选择的具有顺序结构的第三结果个视图中进行展示。
S104c11c、将第一子展示行链中未展示信息的视图和第二子展示行链中的视图设置为隐藏状态,完成显示状态的设置,从而完成待展示信息在展示行链的展示。
在本公开实施例中,由于第一子展示行链的每个行链的视图的数量,比待展示信息分配在每个行链中的信息的数量大,因此,第一子展示行链的每个行链中均存在未展示信息的视图,即第一子展示行链中未展示信息的视图;同时,展示行链中可能还存在除第一子展示行链之外的行链,如果存在第二子展示行 链,则,第二子展示行链中无信息可填充;因此,电子设备将第一子展示行链中未展示信息的视图和第二子展示行链中的视图均设置为隐藏状态;此时,也就完成了显示状态的设置,从而完成了待展示信息在展示行链的展示。
需要说明的是,如果当电子设备完成了待展示信息在展示行链中的第一子展示行链的展示之后,展示行链中不存在第二展示行链,则电子设备在执行S104c11c时,仅将第一子展示行链中未展示信息的视图设置为隐藏状态,也就完成了显示状态的设置,从而完成了待展示信息在展示行链的展示。
示例性地,当展示行链包含3个行链,以及每个行链由3个视图组合而成时:
如果电子设备获得的待展示信息为4张图片,确定的信息数量为4;由于信息数量4除以行链中视图数量3的结果为4/3,且大于1,因此,电子设备对4/3向上取整,得到第二结果2;此时,电子设备从3个行链中选择两个行链(第一子展示行链)进行4张图片的展示;具体地,由于信息数量4除以第二结果2为整数,因此,电子设备将4张图片进行编号排序后依次平均分配在选择的两个行链的每个行链中;从而选择的两个行链的每个行链中显示两张图片(子待展示信息,具体为:选择的两个行链中的第一个行链对应4张图片中的前两张图片,选择的两个行链中的第二个行链对应4张图片中的后两张图片),且选择的两个行链的每个行链中存在一个未展示信息的视图;另外,将选择的两个行链的每个行链中存在的一个未展示信息的视图和3个行链中未被选择的剩余一个行链(第二子展示行链)中的视图均设为隐藏状态,也就完成了4张图片的展示。待展示信息的显示效果如图5d所示。
至此,电子设备已完了当第三结果为整数时,待展示信息在展示行链中的展示。
进一步地,对于第三结果不为整数时,电子设备实现待展示信息在展示行链中的展示的执行步骤如下:
S104c11d、当第三结果不为整数时,将待展示信息中的每个信息依次分配在第一子展示行链的每个行链的每个视图中进行展示。
在本公开实施例中,当电子设备确定第三结果不为整数时,电子设备将待展示信息的信息数量个信息中的每个信息作为预设最小展示单元,并对待展示信息中信息数量个信息进行编号排序,进而将编号排序的待展示信息中信息数量个信息依次分配在第一子展示行链的每个行链的每个视图中进行展示。
S104c11e、将第一子展示行链中未展示信息的视图设置为不可见状态,并将第二子展示行链中的视图设置为隐藏状态,完成显示状态的设置,从而完成待展示信息在展示行链的展示,不可见状态表征不显示视图但保留视图在预设展示区域的占用空间。
在本公开实施例中,由于第一子展示行链中的最后一个行链的视图数量大于待展示信息中要在最后一个行链中进行展示的信息的数量,因此,第一子展示行链中的最后一个行链中存在未展示信息的视图,即第一子展示行链中未展示信息的视图;此时,电子设备将将第一子展示行链中未展示信息的视图设置为不可见状态。
需要说明的是,不可见状态表征不显示视图但保留视图在预设展示区域的占用空间,比如,将“View”标签(视图)设置为“INVISIBLE”(不可见状态)。
另外,在本公开实施例中,如果展示行链中还存在除第一子展示行链之外的行链,即如果存在第二子展示行链,则,第二子展示行链中无信息可填充;因此,电子设备将第二子展示行链中的视图均设置为隐藏状态;此时,也就完成了显示状态的设置,从而完成了待展示信息在展示行链的展示。
需要说明的是,如果当电子设备完成了待展示信息在展示行链中的第一子展示行链的展示之后,展示行链中不存在第二展示行链,则电子设备在执行S104c11e时,仅将第一子展示行链中未展示信息的视图设置为隐藏状态,也就完成了显示状态的设置,从而完成了待展示信息在展示行链的展示。
示例性地,当展示行链包含3个行链,以及每个行链由3个视图组合而成时:
如果电子设备获得的待展示信息为5张图片,确定的信息数量为5;由于信息数量5除以行链中视图数量3的结果为5/3,且大于1,因此,电子设备对 5/3向上取整,得到第二结果2;此时,电子设备从3个行链中选择两个行链(第一子展示行链)进行5张图片的展示;具体地,由于信息数量5除以第二结果2得到的第三结果5/2不为整数,因此,电子设备将5张图片进行编号排序后依次填充在选择的两个行链的每个行链中的每个视图中;从而选择的两个行链的最后一个行链中存在一个未展示信息的视图,电子设备将选择的两个行链中的最后一个行链中存在的一个未展示信息的视图设置为不可见状态;另外,电子设备将3个行链中未被选择的剩余一个行链(第二子展示行链)中的视图均设为隐藏状态,也就完成了5张图片的展示。待展示信息的显示效果如图5e所示。
如果电子设备获得的待展示信息为7张图片,确定的信息数量为7;由于信息数量7除以行链中视图数量3的结果为7/3,且大于1,因此,电子设备对7/3向上取整,得到第二结果3;此时,电子设备从3个行链中选择三个行链(第一子展示行链)进行7张图片的展示;具体地,由于信息数量7除以第二结果3得到的第三结果7/3不为整数,因此,电子设备将7张图片进行编号排序后依次填充在选择的三个行链的每个行链中的每个视图中;从而选择的两个行链的最后一个行链中存在两个未展示信息的视图,电子设备将选择的两个行链中的最后一个行链中存在的两个未展示信息的视图设置为不可见状态,也就完成了7张图片的展示。待展示信息的显示效果如图5g所示。
如果电子设备获得的待展示信息为8张图片,确定的信息数量为8;由于信息数量8除以行链中视图数量3的结果为8/3,且大于1,因此,电子设备对8/3向上取整,得到第二结果3;此时,电子设备从3个行链中选择三个行链(第一子展示行链)进行8张图片的展示;具体地,由于信息数量8除以第二结果3得到的第三结果8/3不为整数,因此,电子设备将8张图片进行编号排序后依次填充在选择的三个行链的每个行链中的每个视图中;从而选择的两个行链的最后一个行链中存在一个未展示信息的视图,电子设备将选择的两个行链中的最后一个行链中存在的一个未展示信息的视图设置为不可见状态,也就完成了8张图片的展示。待展示信息的显示效果如图5h所示。
综上,在本公开实施例中,电子设备在展示行链中进行待展示信息的展示 时,如图6所示,包括上述的S101-S104,其中,S104包括S104a-S104c,而S104c又包括S104c1-S104c11,并且S104c11包括:S104c11a-S10411e。
在本公开实施例中,S104c7和S104c11c中,第一子展示行链中未展示信息的视图为第一子展示行链的每个行链中除第一个和最后一个视图外的视图。
也就是说,考虑到行链与预设展示区域设置有左边距或右边距的情况下,优选地电子设备将第一子展示行链的每个行链中除第一个和最后一个视图外的视图作为未展示信息的视图,即将第一子展示行链的每个行链中除第一个和最后一个视图外的视图设置为隐藏状态。比如,当展示行链包含3个行链,以及每个行链由3个视图组合而成,且所有视图的编号为1-9时,如果待展示信息为4张图片时,电子设备将4张图片在3个行链的前两个行链中进行展示,且每个行链中显示两张图片,并将编号2和编号5对应的视图设置为“GONE”。
进一步地,本公开实施例S102中电子设备将预设行最多视图展示数量个视图组合为一个行链之前,该信息展示方法还包括S105:
S105、设置视图的测量方法。
在本公开实施例中,针对视图,电子设备设置用于测量显示信息的长度的方法,即设置测量方法。比如,电子设备重写“ImageView”标签中的“onMeasure()”方法。
相应地,本公开实施例S102中电子设备将预设行最多视图展示数量个视图组合为一个行链,包括:将预设行最多视图展示数量个设置测量方法后的视图组合为一个行链。
进一步地,基于S105,S104中电子设备基于预设行最多视图展示数量,将待展示信息在展示行链中展示,完成待展示信息在展示行链的展示,包括:首先,在展示待展示信息时,电子设备通过测量方法获得待展示信息中信息的宽的长度;然后,电子设备根据宽的长度设置待展示信息中信息的高的长度,得到设置后的待展示信息;最后,电子设备基于预设行最多视图展示数量,将设置后的待展示信息在展示行链中展示,完成待展示信息在展示行链的展示。
需要说明的是,设置视图的测量方法时,也可以是先获得行链,再对行链 中的视图的测量方法进行设置;本公开实施例对此不作具体限定。
示例性地,当待展示信息为图片形式的信息时,电子设备将待展示信息中每张图片设置为方图之后,再在展示行链中进行展示。
可以理解的是,电子设备通过设置的测量方法,实现待展示信息的信息数量个信息中的每个信息的规格的统一,提升了待展示信息的展示效果。
进一步地,在本公开实施例中,S102中电子设备将预设行最多视图展示数量个视图组合为一个行链之前,该信息展示方法还包括S107:
S107、将视图的宽度设置为预设阈值;
在本公开实施例中,电子设备对视图的宽度进行预设阈值的设置,比如,将视图的宽度设置为0,以实现由视图组合的行链进行待展示信息的展示时,展示的待展示信息能够等比例拉伸,自动适配预设展示区域的宽度。
相应地,在本公开实施例中,S102中电子设备将预设行最多视图展示数量个视图组合为一个行链,包括:电子设备将预设行最多视图展示数量个设置后的视图组合为一个行链。
可以理解的是,电子设备采用约束布局的行链进行待展示信息的展示,由于各组件间(视图或行链)通过位置约束实现布局,因此,本公开实施例提供的信息展示方法的可扩展性高。比如,在已展示的图片上增加角标的显示时,仅需设置角标对应的标签与已展示的图片对应的标签的位置间的约束就能实现。
在本公开实施例中,电子设备还可以设置纵链来得到展示行链,具体实现方式与上述描述的实现过程类似,本公开实施例在此不再赘述。
综上所述,本公开实施例具有以下有益效果:由于待展示信息是基于预设行最多视图展示数量在展示行链中完成的信息展示,而展示行链是一种基于预设布局需求通过位置约束的行链构建的信息布局方式,从而,待展示信息之间关联小,展示方式简单,展示时不容易出现错误,电子设备绘制视图所需的时间少和消耗的功耗小,因此,待展示信息的展示方式复杂度低、健壮性高、效率高和功耗小。
以上描述仅为本公开的实施例以及对所运用技术原理的说明。本领域技术 人员应当理解,本公开实施例中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开实施例构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。