CN111680246B - 基于recyclerview左右联动控件的分组标题置顶方法、装置、设备 - Google Patents
基于recyclerview左右联动控件的分组标题置顶方法、装置、设备 Download PDFInfo
- Publication number
- CN111680246B CN111680246B CN202010349338.3A CN202010349338A CN111680246B CN 111680246 B CN111680246 B CN 111680246B CN 202010349338 A CN202010349338 A CN 202010349338A CN 111680246 B CN111680246 B CN 111680246B
- Authority
- CN
- China
- Prior art keywords
- item
- sub
- group
- attribute
- view
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004590 computer program Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 abstract description 4
- 244000046052 Phaseolus vulgaris Species 0.000 description 13
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 240000004922 Vigna radiata Species 0.000 description 7
- 235000010721 Vigna radiata var radiata Nutrition 0.000 description 7
- 235000011469 Vigna radiata var sublobata Nutrition 0.000 description 7
- 240000001417 Vigna umbellata Species 0.000 description 3
- 235000011453 Vigna umbellata Nutrition 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 241001107116 Castanospermum australe Species 0.000 description 2
- 244000068988 Glycine max Species 0.000 description 2
- 235000010469 Glycine max Nutrition 0.000 description 2
- 230000003796 beauty Effects 0.000 description 2
- 235000021279 black bean Nutrition 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 235000019483 Peanut oil Nutrition 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000008157 edible vegetable oil Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 235000013372 meat Nutrition 0.000 description 1
- 239000004006 olive oil Substances 0.000 description 1
- 235000008390 olive oil Nutrition 0.000 description 1
- 239000000312 peanut oil Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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
-
- 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/0487—Interaction 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请属于用户界面交互领域,公开一种基于recyclerview左右联动控件的分组标题置顶方法、装置、计算机设备及可读存储介质。所述方法包括:检测用户点击末项类别组和/或滑动子项的联动操作;若检测到联动操作,则获取末项类别组的子项的group属性、title属性;若子项的group属性不为空,且title属性为空,则确定子项为信息跳转子项;加载底部提示视图,将底部提示视图与信息跳转子项绑定后显示在列表页上,其中底部提示视图与信息跳转子项绑定后的视图高度与列表页的剩余视图高度相同;当在列表页上检测到信息跳转子项,则将信息跳转子项的group属性的数值作为分组标题置顶。所述方法在点击左控件的末项分类组时,右控件对应的分组标题也能够顺滑置顶,页面加载更加流畅。
Description
技术领域
本申请涉及用户界面交互领域,特别是涉及一种基于recyclerview左右联动控件的分组标题置顶方法、装置、计算机设备和存储介质。
背景技术
RecyclerView左右联动控件在各种外卖App中经常能够看见,比如常见的美团外卖、饿了么等等APP。相对于PC机较小的移动设备上,联动控件能够展示更多的信息,用户操作体验也更佳。左控件用于展示分类,右控件展示分类细节,点击左控件的某一分组标题,右控件跳转至对应分组的细节页,同时右控件页面顶部展示对应分组的标题,标题与所点击的左控件分组标题一致。滑动右控件,在当前顶部标题被另一左控件分组标题替换时,左组件分组标题的选中状态也应该相应改变,且已选中的分组标题与当前右控件顶部标题一致。
然而,使用RecyclerView左右联动控件会存在一明显缺陷:如图3所示,当最后一组分组的Item项总数量过少,以致于不能充满整个列表页时,点击左控件最后一组分类标题时,右控件对应的分组标题无法置顶。同样,右控件滑动至最后分组时,无法将最后一组分组标题的标题滑动至顶部,左控件分组标题的选中状态也不会随之改变。用户进行了点击、滑动等操作,但是页面并未给出相应的响应,很容易让用户误解为卡顿现象,使得页面加载不流畅。
发明内容
基于此,针对上述技术问题,本申请提供一种基于recyclerview左右联动控件的分组标题置顶方法、装置、计算机设备及存储介质,以解决现有技术中页面加载不流畅的技术问题。
一种基于recyclerview左右联动控件的分组标题置顶方法,所述方法包括:
检测用户点击末项类别组和/或滑动子项的联动操作;
若检测到用户的联动操作,则获取所述子项的group属性、title属性;
若所述子项的group属性不为空,且title属性为空,则确定所述子项为末项类别组的信息跳转子项;
加载底部提示视图,将所述底部提示视图与所述信息跳转子项绑定后显示在所述列表页上,其中,底部提示视图与信息跳转子项绑定后的视图高度与所述列表页的剩余视图高度相同;
当在所述列表页上检测到所述信息跳转子项,则将所述信息跳转子项的group属性的数值作为分组标题置顶。
一种基于recyclerview左右联动控件的分组标题置顶装置,所述装置包括:
操作检测模块,用于检测用户点击末项类别组和/或滑动子项的联动操作;
属性获取模块,用于在检测到所述联动操作时,获取所述末项类别组的子项的group属性、title属性;
子项确认模块,用于在所述子项的group属性不为空,且title属性为空时,确定所述子项为末项类别组的信息跳转子项;
视图获取模块,用于加载底部提示视图,将所述底部提示视图与所述信息跳转子项绑定后显示在所述列表页上,其中,底部提示视图与信息跳转子项绑定后的视图高度与所述列表页的剩余视图高度相同;
标题置顶模块,用于当在所述列表页上检测到所述信息跳转子项,则将所述信息跳转子项的group属性的数值作为分组标题置顶。
一种计算机设备,包括存储器和处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于recyclerview左右联动控件的分组标题置顶方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于recyclerview左右联动控件的分组标题置顶方法的步骤。
上述基于recyclerview左右联动控件的分组标题置顶方法、装置、计算机设备和存储介质,通过将底部提示视图与title属性为空的信息跳转子项绑定,并将绑定后的高度设置为与列表页的剩余视图高度,来保证末项分类组中的子项的高度始终能够满足标题指定的条件,使得在点击左控件的末项分类组时,右控件对应的分组标题也能够顺滑置顶。而且,在右控件滑动至末项分类组时,左组件最后分组标题同样也能够随之切换为选中状态,使得整个对控件的滑动更加顺滑,页面加载更加流畅。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为基于recyclerview左右联动控件的分组标题置顶方法的应用环境示意图;
图2为基于recyclerview左右联动控件的分组标题置顶方法的流程示意图;
图3为背景技术中用户交互界面示意图;
图4为列表页子项排布类型示意图,图4包括图4-1和图4-2,图4-1本申请实施例中一种具体的列表页子项排布类型示意图,图4-2本申请实施例中另一种具体的列表页子项排布类型示意图;
图5为另一实施例中基于recyclerview左右联动控件的分组标题置顶方法流程示意图;
图6为图2中步骤210的流程示意图;
图7为另一实施例中步骤210的流程示意图;
图8为基于recyclerview左右联动控件的分组标题置顶装置的示意图;
图9为一个实施例中计算机设备的示意图。
实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的基于recyclerview左右联动控件的分组标题置顶方法,可以应用于如图1所示的应用环境中。其中,该应用环境可以包括终端102、网络以及服务端104,网络用于在终端102和服务端104之间提供通信链路介质,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端102通过网络与服务端104交互,以接收或发送消息等。终端102上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端102可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器( Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3 )、MP4( Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4 )播放器、膝上型便携计算机和台式计算机等等。
服务端104可以是提供各种服务的服务器,例如对终端102上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的基于recyclerview左右联动控件的分组标题置顶方法一般由服务端/终端执行,相应地,基于recyclerview左右联动控件的分组标题置顶装置一般设置于服务端/终端设备中。
应该理解,图1中的终端、网络和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
其中,终端102通过网络与服务端104进行通信。终端102用于检测用户的联动操作,并根据联动操作获取子项的属性来确定信息跳转子项,再生成底部提示视图,最后将底部提示视图与信息跳转子项绑定后实现触发条件置顶的目的。期间,终端102可以通过网络将标题指定的操作发送给服务端104进行检验。当然,也可以不需要发送到服务端104。其中,终端102和服务端104之间通过网络进行连接,该网络可以是有线网络或者无线网络,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务端104可以用独立的服务器或者是多个组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于recyclerview左右联动控件的分组标题置顶方法,以该方法应用于图1中的服务端为例进行说明,包括以下步骤:
步骤202,检测用户点击末项类别组和/或滑动子项的联动操作。
本实施例以终端是手机终端为例对本申请进行说明,RecyclerView左右联动控件在各种外卖App中经常能够看见,比如常见的美团外卖、饿了么等等APP。工作时,手机终端的APP需要检测用户的联动操作;其中,用户的联动操作可以是点击左侧控件的末项类别组,也可以是滑动右侧控件上的子项,以此实现分组标题置顶的目的。其中,末项类别组为左侧类别组中最后一项类别组。
具体地,如图3是一个左右联动展示信息的案例。左侧控件为点菜的类别组,用于展示类别组的信息,类别组的数量至少为1个,每一类别组至少包括一个子项,该子项可以是火锅、炒青菜、地三鲜中的一个或多个。再比如类别组可以是豆类、水产类、水果类、肉类等等;右侧控件上是类别组下的子项的信息,每一类别组中都包括至少一个子项。当然还可以根据需要调换左、右侧信息展示位置。
每一个子项都包括两个属性,一个group属性,一个是title属性。Group属性用于保存该子项属于哪一个类别组,title属性用于展示该子项的名称,比如某一个子项的group属性、title属性分别是豆类、绿豆,那么说明该子项所在的类别组是豆类,该豆类下的子项的名称为绿豆。此外,豆类下不仅可以包括绿豆子项,还可以包括黄豆、黑豆、红豆等子项。
一般每一个子项的group属性和title属性都不为空。
本实施例所适用的情况为:当末项类别组下子项的子项视图高度不能充满列表页时,因为recyclerview左右联动控件的缺陷,用户不论是直接点击类别组还是滑动子项所在的屏幕,都无法将最后一项的类别组的信息在列表页的视图顶部显示,造成无法实现信息跳转的技术问题,很容易让用户误解为卡顿现象,进而影响用户对App的满意度。
步骤204,若检测到联动操作,则获取末项类别组的子项的group属性、title属性。
recyclerview控件会根据用户的联动操作做出相应的数据交互,比如若检测到用户点击类别组的联动操作,会直接定位到该类别组所对应的数据标识,recyclerview控件中的右侧控件通过接收到的数据标识指示左侧控件从第几条子项数据开始将其显示在列表页上。
具体地,确定用户点击末项类别组和/或滑动子项的联动操作的数据标识;根据数据标识获取对应的子项;并遍历子项的属性信息,得到子项的group属性、title属性。
步骤206,若子项的group属性不为空,且title属性为空,则确定子项为末项类别组的信息跳转子项。
末相类别组是指类别组列表中最后一组类别组,当得到某子项的group属性不为空,且title属性的数值为空时,则确定该子项为信息跳转子项。一般每一子项的group属性和title属性都不为空,但是同一类别组下的子项的title属性的数值一定与该子项的group属性的数值具有对应关系,比如,黄豆、绿豆、红豆、黑豆等子项的group属性一定为豆类,不会是水果类的情况。所以可以在末项类别组中的子项中设定一个特殊title属性,title属性为空。所以当检测到该子项时,则将该子项设定为信息跳转子项。而且因为该信息跳转子项的title属性为空,所以该信息跳转子项并不会实际被显示在列表页上,即该信息跳转子项并不占用视图高度,但是因为会为用户的不同操作生成一个数据标识,所以终端可以通过数据标识是否被调用和/或使用确定该子项在列表页上的位置。
步骤208,加载底部提示视图,将底部提示视图与信息跳转子项绑定后显示在列表页上,其中,底部提示视图与信息跳转子项绑定后的视图高度与列表页的剩余视图高度相同。
当确定该子项为信息跳转子项时,可以为该信息跳转子项加载底部提示视图,并将该底部提示视图与该信息跳转子项绑定在一起,作为末项类别组中的一个子项,且保证绑定后的视图高度不小于列表页的剩余视图高度,其中,列表页的剩余视图高度为末项类别组中其他子项占用列表页视图高度后所剩余的视图高度。
进一步地,在末项分类组的信息跳转子项上的第一个子项下生成加一底部提示视图,并为该底部提示视图生成一个任意一颜色背景的页面显示在列表页上。因为信息跳转子项的title属性一般为空,所以不占用列表页视图高度。
优选的,可以为底部视图高度的背景页面底部增加“无更多数据”、“END”等自定义友好提示语,告知用户所有子项已加载完毕。这一底部提示视图可以帮助末项类别组的子项顺畅滑动至顶部,且保证末项类别组中的每一个子项都能在列表页上显示。
进一步地,在加载底部提示视图前需要获取子项在列表页上的排布类型,根据排布类型计算底部提示视图的视图高度。
如图4中的4-1所示,子项视图高度是指该类别组中除信息跳转子项外的所有子项所占据的列表页的像素高度。
具体地,若右侧控件的子项的排布顺序为阶梯布局,则子项视图高度为其中,/>为一个子项占用的列表页上的像素高度。/>表示该类别组除信息跳转子项外的子项的数量。为了使得每一项子项都能完整地展示出来,需要动态计算底部提示视图的高度。若所述排布类型为阶梯布局,该剩余视图高度,即底部视图高度的计算公式可以为公式(1):/>(1);
其中,为整个列表页的视图高度,/>为每一子项视图的高度,/>为末项分类组的子项的数量,/>为标题视图的高度。
可选地,如图4中的4-2所示,当列表页右侧控件中子项的排布方式为网格布局,可以通过公式(2)计算得到底部视图高度:(2);
其中,为子项占用的行数。
步骤210,当在列表页上检测到信息跳转子项,则将信息跳转子项的group属性的数值作为分组标题置顶。
检测当前列表页上子项的数据标识,当出现最后一个子项的数据标识以及信息跳转子项的数据标识,则说明末项类别组的子项已经被移动到列表页上,则生成底部提示视图,将底部提示视图的视图高度也更新到子项视图高度中,使得总的子项视图高度不小于列表页的视图高度,实现最后一个子项能够顺利地移动到列表页的顶部,将末项类别组的信息跳转子项的group属性的数值作为分组标题置顶的目的。解决了现有技术中因末项类别组子项的子项视图高度无法达到列表页的视图高度导致的分组标题无法置顶的技术问题,可以带给用户更好的使用体验。
上述基于recyclerview左右联动控件的分组标题置顶方法中,通过将底部提示视图与title属性为空的信息跳转子项绑定,并将绑定后的高度设置为与列表页的剩余视图高度,来保证末项分类组中的子项的高度始终能够满足标题指定的条件,使得在点击左侧控件的末项分类组时,右控件对应的分组标题也能够迅速置顶。而且,在右控件滑动至末项分类组时,左组件最后分组标题同样也能够随之切换为选中状态,使得整个对控件的滑动更加顺滑,页面加载更加流畅。
在一个实施例中,如图5所示,在步骤202之前,还包括:
步骤502,获取末项类别组中子项,并计算子项占用列表页的子项视图高度以及剩余视图高度。
本实施例是应用于末项类别组的子项视图高度小于列表页的视图高度,导致的最后分组标题无法置顶的情况。所以需要预先获取末项类别组中子项,并计算子项占用列表页的子项视图高度和列表页剩余视图高度。
步骤504,若子项视图高度小于列表页的视图高度,则在末项类别组的最后一个子项下生成信息跳转子项,作为末项类别组的子项,其中,信息跳转子项的group属性与末项类别组的最后一个子项的group属性相同,title属性为空。
因为信息跳转子项的title属性为空,所以实际信息跳转子项并不占用列表页的视图高度。而且由于需要对末项类别组中的每一子项进行属性遍历,所以需要设定其中一个子项的title子项为空,实现对该子项的标记的目的,这样一条特别的子项就可作为判断是否加载底部提示视图的标识了。
例如,豆类下只有一个title属性为绿豆的子项,则需要在豆类下生成一个group属性为豆类,但title属性为空的子项作为信息跳转子项,即在豆类的最后一个子项绿豆子项下生成信息跳转子项,也作为豆类的一个子项。
步骤506,在最后一个子项下生成底部提示视图,其中,底部提示视图的视图高度不低于剩余视图高度。
实时检测用户的操作,不论是用户的点击操作还是滑动操作,Recyclerview控件在初始配置时会给每一个类别组、每个子项生成一个数据标识,比如豆类是数据1、红豆是数据2、绿豆是数据3,食用油类是数据4、花生油是数据5、橄榄油是数据6等等。若设定列表页一次只能展示3条数据,那么当检测到用户的滑动操作,若列表页上的数据向上移动,第一条数据被隐藏到列表页之外,第四条数据才会加载到列表页上。每一条数据的隐藏和/或展示都会预先告知该recyclerview控件,然后指示recyclerview控件进行下一步操作。根据信息跳转子项生成底部提示视图属于RecyclerView控件加载多种视图的思想,比如要在最后一个子项下加载3个五角星,1个圆形;那么可以在RecyclerView适配器的getItemViewType方法得到获取到的当前子项的类型,需要加载五角星时,返回类型为1,需要加载圆形时,返回2。在视图创建时的onCreatViewHolder方法中,viewType为1时就创建五角星的视图,viewType为2时就创建圆形视图。onCreatViewHolder方法负责承载每个子项的布局。它有两个参数,一个是创建的视图的类型,一个是“ int viewType”为当前子项的类型。
同理,左右联动控件的右侧页面上需要加载标题视图、子项视图、底部提示视图等等。加载不同类型的视图有相应判断条件,而底部提示视图具体的判断条件即为title属性为预设提示值,比如为空,且group属性不为空,此时返回IS_FOOTER的子项的类型,在视图创建时,在onCreatViewHolder方法中,viewType为IS_FOOTER时即创建出底部提示视图。
本实施例中通过在末项分类组的最后一个子项下生成一标记的特殊子项,信息跳转子项,并在该特殊子项下增加一底部提示视图,保证末项分类组中的子项始终能够充满整个列表页。当检测到点击末项分类组时,右侧控件对应的分组标题能够顺滑置顶。而且,在右侧控件滑动至末项分类组时,左组件最后分组标题同样也能够随之切换为选中状态。此解决方法使整个控件滑动起来更加顺滑,页面加载更加流畅。
在一个实施例中,如图6所示,步骤210包括:
步骤602,获取列表页上的预设坐标点。
步骤604,获取位于预设坐标点上子项的属性信息,并遍历属性信息,得到子项的group属性、title属性。
步骤606,若子项的group属性不为空、title属性为空,则确定子项为信息跳转子项。
步骤608,获取信息跳转子项的group属性的数值,作为分组标题置顶。
预设坐标点可以是列表页上某一具体的坐标点,比如是位于列表页第一行像素上的像素点,也可以是位于中间位置的像素点,主要根据末项类别组中的子项的高度而定。recyclerview控件会对经过和/或位于该坐标点上的每一个子项的属性信息进行遍历,然后根据遍历得到的结果觉得是否置顶标题。
通过本实施例,可以不用对位于列表页上所有的子项的属性信息进行遍历,节省了数据处理时间,提高了控件工作效率。
在另一个实施例中,不同于上述步骤602-608对应的方案,如图7所示,步骤210,包括:
步骤702,遍历列表页上子项的数据标识。
步骤704,根据数据标识获取子项的属性信息,并遍历属性信息,得到子项的group属性、title属性。
步骤706,若子项的group属性不为空、title属性为空,则确定子项为信息跳转子项。
步骤708,获取信息跳转子项的group属性的数值,作为分组标题置顶。
本实施例通过只对位于列表页上的子项的数据标识进行检测,获取与信息跳转子项对应的数据标识,然后只遍历该信息跳转子项的属性信息,节省了数据处理量,提高了控件工作效率。
应该理解的是,虽然图2、图5-图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图5-图7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种基于recyclerview左右联动控件的分组标题置顶装置,该基于recyclerview左右联动控件的分组标题置顶装置与上述实施例中基于recyclerview左右联动控件的分组标题置顶方法一一对应。该基于recyclerview左右联动控件的分组标题置顶装置包括:
操作检测模块802,用于检测用户点击末项类别组和/或滑动子项的联动操作;
属性获取模块804,用于在检测到联动操作时,获取末项类别组的子项的group属性、title属性;
子项确认模块806,用于在子项的group属性不为空,且title属性为空时,则确定子项为末项类别组的信息跳转子项;
视图获取模块808,用于加载底部提示视图,将底部提示视图与信息跳转子项绑定后显示在列表页上,其中,底部提示视图与信息跳转子项绑定后的视图高度与列表页的剩余视图高度相同;
标题置顶模块810,用于当在列表页上检测到信息跳转子项,则将信息跳转子项的group属性的数值作为分组标题置顶。
进一步地,在操作检测模块802之前,基于recyclerview左右联动控件的分组标题置顶装置,还包括:
高度获取模块,用于获取末项类别组中子项,并计算子项占用列表页的子项视图高度以及列表页的剩余视图高度;
子项生成模块,用于在子项视图高度小于列表页的视图高度时,在末项类别组的最后一个子项下生成信息跳转子项,作为末项类别组的子项,其中,信息跳转子项的group属性与末项类别组的最后一个子项的group属性相同,title属性为空;
视图生成模块,用于在最后一个子项下生成底部提示视图,其中,底部提示视图的视图高度不低于剩余视图高度。
进一步地,属性获取模块804,包括:
标识确定子模块,用于确定用户点击末项类别组和/或滑动子项的联动操作的数据标识;
子项获取子模块,用于根据数据标识获取对应的子项;以及
属性遍历子模块,用于遍历子项的属性信息,得到子项的group属性、title属性。
进一步地,标题置顶模块810,包括:
坐标确定子模块,用于获取列表页上的预设坐标点;
第一属性获取子模块,用于获取位于预设坐标点上子项的属性信息,并遍历属性信息,得到子项的group属性、title属性;
第一子项确定子模块,用于在子项的group属性不为空、title属性为空时,确定子项为信息跳转子项;并
第一标题置顶子模块,用于获取信息跳转子项的group属性的数值,作为分组标题置顶。
进一步地,标题置顶模块810,还包括:
标识遍历子模块,用于遍历列表页上子项的数据标识;
第二属性获取子模块,用于根据数据标识获取子项的属性信息,并遍历属性信息,得到子项的group属性、title属性;
第二子项确定子模块,用于在子项的group属性不为空、title属性为空时,确定子项为信息跳转子项;以及
第二标题置顶子模块,用于获取信息跳转子项的group属性的数值,作为分组标题置顶。
进一步地,视图获取模块808,包括:
类型获取子模块,用于获取子项在列表页上的排布类型;并
高度计算子模块,用于根据排布类型计算底部提示视图的视图高度。
上述基于recyclerview左右联动控件的分组标题置顶装置,通过将底部提示视图与title属性为空的信息跳转子项绑定,并将绑定后的高度设置为与列表页的剩余视图高度,来保证末项分类组中的子项的高度始终能够满足标题指定的条件,使得在点击左控件的末项分类组时,右控件对应的分组标题也能够顺滑置顶。而且,在右控件滑动至末项分类组时,左组件最后分组标题同样也能够随之切换为选中状态,使得整个对控件的滑动更加顺滑,页面加载更加流畅。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于recyclerview左右联动控件的分组标题置顶方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。通过将底部提示视图与title属性为空的信息跳转子项绑定,并将绑定后的高度设置为与列表页的剩余视图高度,来保证末项分类组中的子项的高度始终能够满足标题指定的条件,使得在点击左控件的末项分类组时,右控件对应的分组标题也能够顺滑置顶。而且,在右控件滑动至末项分类组时,左组件最后分组标题同样也能够随之切换为选中状态,使得整个对控件的滑动更加顺滑,页面加载更加流畅。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中基于recyclerview左右联动控件的分组标题置顶方法的步骤,例如图2所示的步骤202至步骤210,或者,处理器执行计算机程序时实现上述实施例中基于recyclerview左右联动控件的分组标题置顶装置的各模块/单元的功能,例如图8所示模块802至模块810的功能。为避免重复,此处不再赘述。通过将底部提示视图与title属性为空的信息跳转子项绑定,并将绑定后的高度设置为与列表页的剩余视图高度,来保证末项分类组中的子项的高度始终能够满足标题指定的条件,使得在点击左控件的末项分类组时,右控件对应的分组标题也能够顺滑置顶。而且,在右控件滑动至末项分类组时,左组件最后分组标题同样也能够随之切换为选中状态,使得整个对控件的滑动更加顺滑,页面加载更加流畅。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形、改进或者对部分技术特征进行等同替换,而这些修改或者替换,并不使相同技术方案的本质脱离本发明个实施例技术方案地精神和范畴,都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种基于recyclerview左右联动控件的分组标题置顶方法,其特征在于,所述方法包括:
检测用户点击末项类别组和/或滑动子项的联动操作;
若检测到所述联动操作,则获取末项类别组的子项的group属性、title属性;
若所述子项的group属性不为空,且title属性为空,则确定所述子项为所述末项类别组的信息跳转子项;
加载底部提示视图,将所述底部提示视图与所述信息跳转子项绑定后显示在列表页上,其中,所述底部提示视图与所述信息跳转子项绑定后的视图高度与所述列表页的剩余视图高度相同;
当在所述列表页上检测到所述信息跳转子项,则将所述信息跳转子项的group属性的数值作为分组标题置顶;
在检测用户点击末项类别组和/或滑动子项的联动操作之前,包括:
获取末项类别组中子项,并计算子项占用列表页的子项视图高度以及所述列表页的所述剩余视图高度;
若所述子项视图高度小于列表页的视图高度,则在所述末项类别组的最后一个子项下生成信息跳转子项,作为所述末项类别组的子项,其中,所述信息跳转子项的group属性与末项类别组的最后一个子项的group属性相同,title属性为空;
在最后一个子项下生成底部提示视图,其中,底部提示视图的视图高度不低于所述剩余视图高度;
所述当在所述列表页上检测到所述信息跳转子项,则将所述信息跳转子项的group属性的数值作为分组标题置顶,包括:
获取所述列表页上的预设坐标点;
获取位于所述预设坐标点上子项的属性信息,并遍历所述属性信息,得到子项的group属性、title属性;
若所述子项的group属性不为空、title属性为空,则确定所述子项为信息跳转子项;并
获取所述信息跳转子项的group属性的数值,作为分组标题置顶。
2.根据权利要求1所述的方法,其特征在于,所述若检测到所述联动操作,则获取末项类别组的子项的group属性、title属性,包括:
确定用户点击末项类别组和/或滑动子项的联动操作的数据标识;
根据所述数据标识获取对应的子项;并
遍历所述子项的属性信息,得到子项的group属性、title属性。
3.根据权利要求1所述的方法,其特征在于,所述当在所述列表页上检测到所述信息跳转子项,则将所述信息跳转子项的group属性的数值作为分组标题置顶,包括:
遍历列表页上子项的数据标识;
根据所述数据标识获取所述子项的属性信息,并遍历所述属性信息,得到子项的group属性、title属性;
若所述子项的group属性不为空、title属性为空,则确定所述子项为信息跳转子项;并
获取所述信息跳转子项的group属性的数值,作为分组标题置顶。
4.根据权利要求1所述的方法,其特征在于,在所述加载底部提示视图之前,包括:
获取子项在列表页上的排布类型;并
根据所述排布类型计算所述底部提示视图的视图高度。
5.根据权利要求4所述的方法,其特征在于,所述根据所述排布类型计算所述底部提示视图的视图高度,包括:
若所述排布类型为阶梯布局,则所述底部提示视图高度的计算公式为:
;
若所述排布类型为网格布局,则所述底部提示视图高度的计算公式为:
;
其中,为列表页的视图高度,/>为每一子项视图的高度,/>为末项分类组的子项的数量,/>为标题视图的高度,/>为子项占用的行数。
6.一种基于recyclerview左右联动控件的分组标题置顶装置,其特征在于,所述基于recyclerview左右联动控件的分组标题置顶装置应用如权利要求1至5中任一项所述方法的步骤,包括:
操作检测模块,用于检测用户点击末项类别组和/或滑动子项的联动操作;
属性获取模块,用于在检测到所述联动操作时,获取所述末项类别组的子项的group属性、title属性;
子项确认模块,用于在所述子项的group属性不为空,且title属性为空时,确定所述子项为所述末项类别组的信息跳转子项;
视图获取模块,用于加载底部提示视图,将所述底部提示视图与所述信息跳转子项绑定后显示在所述列表页上,其中,所述底部提示视图与所述信息跳转子项绑定后的视图高度与所述列表页的剩余视图高度相同;
标题置顶模块,用于当在所述列表页上检测到所述信息跳转子项时,将所述信息跳转子项的group属性的数值作为分组标题置顶。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010349338.3A CN111680246B (zh) | 2020-04-28 | 2020-04-28 | 基于recyclerview左右联动控件的分组标题置顶方法、装置、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010349338.3A CN111680246B (zh) | 2020-04-28 | 2020-04-28 | 基于recyclerview左右联动控件的分组标题置顶方法、装置、设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111680246A CN111680246A (zh) | 2020-09-18 |
CN111680246B true CN111680246B (zh) | 2023-10-17 |
Family
ID=72433879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010349338.3A Active CN111680246B (zh) | 2020-04-28 | 2020-04-28 | 基于recyclerview左右联动控件的分组标题置顶方法、装置、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111680246B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434847B (zh) * | 2021-06-25 | 2023-10-27 | 深圳赛安特技术服务有限公司 | 应用程序的隐私模块处理方法、装置、电子设备及介质 |
CN114153517B (zh) * | 2021-10-19 | 2024-04-09 | 西安震有信通科技有限公司 | 虚拟化节点控件子项的定位方法、装置及终端设备 |
CN117311575B (zh) * | 2023-11-21 | 2024-04-19 | 深圳市东信时代信息技术有限公司 | 页面显示方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502522A (zh) * | 2016-09-21 | 2017-03-15 | 北京小米移动软件有限公司 | 移动终端的操作控制方法及装置 |
CN106686221A (zh) * | 2016-12-19 | 2017-05-17 | 深圳天珑无线科技有限公司 | 一种联系人信息显示方法和装置 |
CN110018775A (zh) * | 2019-03-15 | 2019-07-16 | 努比亚技术有限公司 | 一种内容显示方法、终端及计算机可读存储介质 |
CN110209329A (zh) * | 2019-05-23 | 2019-09-06 | 厦门美柚信息科技有限公司 | 显示页面内容的方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345481B (zh) * | 2017-01-22 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 一种页面显示方法、装置、客户端及服务器 |
-
2020
- 2020-04-28 CN CN202010349338.3A patent/CN111680246B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502522A (zh) * | 2016-09-21 | 2017-03-15 | 北京小米移动软件有限公司 | 移动终端的操作控制方法及装置 |
CN106686221A (zh) * | 2016-12-19 | 2017-05-17 | 深圳天珑无线科技有限公司 | 一种联系人信息显示方法和装置 |
CN110018775A (zh) * | 2019-03-15 | 2019-07-16 | 努比亚技术有限公司 | 一种内容显示方法、终端及计算机可读存储介质 |
CN110209329A (zh) * | 2019-05-23 | 2019-09-06 | 厦门美柚信息科技有限公司 | 显示页面内容的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111680246A (zh) | 2020-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111680246B (zh) | 基于recyclerview左右联动控件的分组标题置顶方法、装置、设备 | |
US10896284B2 (en) | Transforming data to create layouts | |
US9009092B2 (en) | Creating variations when transforming data into consumable content | |
CN111104635B (zh) | 一种表格网页的生成方法和装置 | |
US10992622B2 (en) | Method, terminal equipment and storage medium of sharing user information | |
CN107066174A (zh) | 浮层显示方法、装置及用户终端 | |
CN103761110B (zh) | 浏览器字体显示处理方法和装置 | |
CN102411614A (zh) | 图像搜索结果的显示 | |
CN108475096A (zh) | 信息显示方法、装置及终端设备 | |
CN108809811B (zh) | 对象分享方法和装置 | |
CN107786432A (zh) | 信息展示方法、装置、计算机装置及计算可读存储介质 | |
CN106776821B (zh) | 一种相册生成方法及终端 | |
CN110287464A (zh) | 表单中选项数据的展示方法、装置、计算机设备及计算机存储介质 | |
CN105893568B (zh) | 一种文件夹顶部功能栏的操作方法、装置及电子设备 | |
CN107111418A (zh) | 具有最小破坏性的图标位移 | |
CN109614600B (zh) | 报表展示方法、装置及计算机存储介质 | |
CN106708478B (zh) | 滚动视图显示方法及装置 | |
CN109992580A (zh) | 列表数据的处理方法及装置、存储介质、计算机设备 | |
CN109299424A (zh) | 一种基于富文本提供响应事件的方法、装置和计算机记录介质 | |
CN116661920A (zh) | 互联网页面的自动切换方法、装置、设备、系统及介质 | |
CN105677749B (zh) | 一种页面显示方法及装置 | |
CN107608590A (zh) | 图片浏览方法和装置 | |
CN104657060B (zh) | 一种移动终端上查看相册的方法及装置 | |
CN113077322A (zh) | 商品信息展示方法、装置、存储介质及计算机设备 | |
CN102707862B (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 |