CN105630306A - 一种基于安卓平台的多级树形菜单的实现方法 - Google Patents
一种基于安卓平台的多级树形菜单的实现方法 Download PDFInfo
- Publication number
- CN105630306A CN105630306A CN201510979679.8A CN201510979679A CN105630306A CN 105630306 A CN105630306 A CN 105630306A CN 201510979679 A CN201510979679 A CN 201510979679A CN 105630306 A CN105630306 A CN 105630306A
- Authority
- CN
- China
- Prior art keywords
- level
- information
- current
- folded state
- user
- 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.)
- Pending
Links
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/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
-
- 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/904—Browsing; Visualisation therefor
Abstract
一种基于安卓平台的多级树形菜单的实现方法,包括:抽象出描述层级信息的对象;抽象出层级信息的显示文件;在向用户展示信息时进行如下判断:首先判断当前层级是否为父层级,若为父层级,则通过当前层级的层级深度信息计算显示的层级名称,并将显示层级折叠状态的图片设置为可操作;若当前层级不为父层级,通过当前层级的层级深度信息计算显示的层级名称,并将显示层级折叠状态的图片设置为不可见;在树形菜单中只显示手机当前屏幕上可见的层级信息,在用户进行点击层级时做如下判断:获取用户所选层级的层级信息,进行信息传递,该项用于树形菜单的扩展;若用户选择的层级为最终层级,则获取用户所选层级的层级信息,并进行信息展示。
Description
【技术领域】
本发明涉及显示领域,具体涉及一种基于安卓平台的多级树形菜单的实现方法。
【背景技术】
目前很多android(安卓)应用里面需要一个多级的树形列表,譬如,一个有区域归属和分组归属的车辆。在向用户展示这辆车的所属区域时,势必要将该车的所属的所属区域显示出来,如果该区域中有用户设置了分组,那么也应该将该车所属的分组信息显示出来。就上述举例而言,该车的显示至少有三级,即:所属区域-所属分组-车辆。若用户的分组再进行细致,导致一辆车所属的层级是不确定的,也不仅仅限制于三级、四级等。由于这些层级信息是由用户控制的,为了良好的用户体验,App也不能给用户限定最深层级数目,本发明正是基于此种需求下产生的。
android(安卓)系统提供了ExpandableListView(以分组列表的形式展示具体内容的控件)来实现多级列表的展示。采用ExpandableListView嵌套ListView/ExpandableListView可以实现三级菜单,甚至多级菜单。
现有技术存在如下缺点:1、在用户可以设置分组的情况,用户的分组通常会有多级,并且用户分组往往是随意的,那么各个车辆的所属层级不尽相同,有的父层级甚至出现没有最终层级的情况。ExpandableListView模式固化,嵌套一级模式下,也只能显示三级层级,对于四、五甚至更深的层级则鞭长莫及。2、采用ExpandableListView嵌套ListView/ExpandableListView实现复杂,并且ExpandableListView在嵌套多个listview或者expandablelistview时候,导致view本身事件冲突,埋下众多不易察觉甚至无法解决的bug。
【发明内容】
本发明所要解决的技术问题在于提供一种基于安卓平台的多级树形菜单的实现方法,显示用户随意设置的每个层级信息,并且响应用户对各个层级的点击处理。
本发明是这样实现的:
一种基于安卓平台的多级树形菜单的实现方法,包括如下步骤:
步骤一:抽象出描述层级信息的对象,该对象包含以下描述信息:用于标识层级信息的唯一标识、用于描述当前层级是否为父层级的信息,用于描述当前层级是否有子层级的信息,用于描述该层级的父层级标识、用于描述当前层级所处的层级深度信息、用于描述当前层级是否处于折叠状态的信息;
步骤二:抽象出层级信息的显示文件,该显示文件包含以下信息:显示层级名称的文本、显示层级折叠状态的图片;
步骤三:根据抽象出的层级信息对象设置树形菜单的适配器;
步骤四:遍历抽象出的层级信息集合,默认展示第一层级及其直接子层级数据,使其成为当前屏幕可见层级;
步骤五:在向用户展示信息时进行如下判断:首先判断当前层级是否为父层级,若为父层级,则通过当前层级的层级深度信息计算显示的层级名称,并将显示层级折叠状态的图片设置为可操作;若当前层级不为父层级,通过当前层级的层级深度信息计算显示的层级名称,并将显示层级折叠状态的图片设置为不可见;
步骤六:在用户进行点击层级时做如下判断:
判断用户选择的层级是否为父层级,则进行如下判断:
首先,根据描述层级的折叠状态信息判断当前层级是否处于折叠状态,若当前层级处于折叠状态,则设置描述层级是否处于折叠状态的信息为展开状态,并加载该层级下的所有子层级,若用户选择的当前层级处于展开状态,则设置描述层级是否处于折叠状态的信息为折叠状态,并将该层级下的所有子层级移除屏幕;其次,获取用户所选层级的层级信息,进行信息传递,该项用于树形菜单的扩展;
若用户选择的层级为最终层级,则进行如下处理:
获取用户所选层级的层级信息,并进行信息展示。
本发明的优点在于:本发明解决了android提供多级树形列表展示繁杂、笨重、事件冲突的问题。不论用户设置的层级信息有多深,都能达到简单、快速的树形列表展示。可以定制需要向用户展示的界面信息。本发明避免了直接操作海量用户数据,仅操作屏幕上可见的用户数据,提高了树形控件的展示速度和响应用户操作的速度。
【附图说明】
下面参照附图结合实施例对本发明作进一步的描述。
图1是本发明的方法流程示意图。
【具体实施方式】
如图1所示,一种基于安卓平台的多级树形菜单的实现方法,包括如下步骤:
步骤一:抽象出描述层级信息的对象,该对象包含以下描述信息:用于标识层级信息的唯一标识、用于描述当前层级是否为父层级的信息,用于描述当前层级是否有子层级的信息,用于描述该层级的父层级标识、用于描述当前层级所处的层级深度信息、用于描述当前层级是否处于折叠状态的信息;
步骤二:抽象出层级信息的显示文件,该文件包含以下信息:显示层级名称的文本、显示层级折叠状态的图片;
步骤三:根据抽象出的层级信息对象设置树形菜单的适配器。
步骤四:遍历抽象出的层级信息集合,默认展示第一层级及其直接子层级数据,使其成为当前屏幕可见层级。
步骤五:为了显示出树形菜单的效果和用户层级信息,在向用户展示信息时应进行如下判断:首先判断当前层级是否为父层级,若为父层级,则通过当前层级的层级深度信息计算显示的层级名称,并将显示层级折叠状态的图片设置为可操作;若当前层级不为父层级,通过当前层级的层级深度信息计算显示的层级名称,并将显示层级折叠状态的图片设置为不可见;
步骤六:树形菜单还有用响应用户点击操作能力,为此,还应在用户进行点击层级时做如下判断:
判断用户选择的层级是否为父层级,则进行如下判断:
首先,根据描述层级的折叠状态信息判断当前层级是否处于折叠状态。若当前层级处于折叠状态,则设置描述层级是否处于折叠状态的信息为展开状态,并加载该层级下的所有子层级,若用户选择的当前层级处于展开状态,则设置描述层级是否处于折叠状态的信息为折叠状态,并将该层级下的所有子层级移除屏幕;其次,获取用户所选层级的层级信息,进行信息传递,该项可以用于树形菜单的扩展;
若用户选择的层级为最终层级,则进行如下处理:
获取用户所选层级的层级信息,并进行信息展示或者进行其他的处理。
本发明解决了android提供多级树形列表展示繁杂、笨重、事件冲突的问题。不论用户设置的层级信息有多深,都能达到简单、快速的树形列表展示。可以定制需要向用户展示的界面信息。本发明避免了直接操作海量用户数据,仅操作屏幕上可见的用户数据,提高了树形控件的展示速度和响应用户操作的速度。
以上所述仅为本发明的较佳实施用例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种基于安卓平台的多级树形菜单的实现方法,其特征在于:包括如下步骤:
步骤一:抽象出描述层级信息的对象,该对象包含以下描述信息:用于标识层级信息的唯一标识、用于描述当前层级是否为父层级的信息,用于描述当前层级是否有子层级的信息,用于描述该层级的父层级标识、用于描述当前层级所处的层级深度信息、用于描述当前层级是否处于折叠状态的信息;
步骤二:抽象出层级信息的显示文件,该显示文件包含以下信息:显示层级名称的文本、显示层级折叠状态的图片;
步骤三:根据抽象出的层级信息对象设置树形菜单的适配器;
步骤四:遍历抽象出的层级信息集合,默认展示第一层级及其直接子层级数据,使其成为当前屏幕可见层级;
步骤五:在向用户展示信息时进行如下判断:首先判断当前层级是否为父层级,若为父层级,则通过当前层级的层级深度信息计算显示的层级名称,并将显示层级折叠状态的图片设置为可操作;若当前层级不为父层级,通过当前层级的层级深度信息计算显示的层级名称,并将显示层级折叠状态的图片设置为不可见;
步骤六:在用户进行点击层级时做如下判断:
判断用户选择的层级是否为父层级,则进行如下判断:
首先,根据描述层级的折叠状态信息判断当前层级是否处于折叠状态,若当前层级处于折叠状态,则设置描述层级是否处于折叠状态的信息为展开状态,并加载该层级下的所有子层级,若用户选择的当前层级处于展开状态,则设置描述层级是否处于折叠状态的信息为折叠状态,并将该层级下的所有子层级移除屏幕;其次,获取用户所选层级的层级信息,进行信息传递,该项用于树形菜单的扩展;
若用户选择的层级为最终层级,则进行如下处理:
获取用户所选层级的层级信息,并进行信息展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510979679.8A CN105630306A (zh) | 2015-12-24 | 2015-12-24 | 一种基于安卓平台的多级树形菜单的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510979679.8A CN105630306A (zh) | 2015-12-24 | 2015-12-24 | 一种基于安卓平台的多级树形菜单的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105630306A true CN105630306A (zh) | 2016-06-01 |
Family
ID=56045316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510979679.8A Pending CN105630306A (zh) | 2015-12-24 | 2015-12-24 | 一种基于安卓平台的多级树形菜单的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105630306A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649889A (zh) * | 2017-01-18 | 2017-05-10 | 深圳市华第时代科技有限公司 | 一种数据显示方法及装置 |
CN107391163A (zh) * | 2017-04-21 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 移动终端中页面数据加载方法、装置和应用 |
CN107632756A (zh) * | 2017-09-29 | 2018-01-26 | 深圳市元征科技股份有限公司 | 程序菜单显示方法及终端 |
CN108255834A (zh) * | 2016-12-28 | 2018-07-06 | 航天信息股份有限公司 | 一种基于ListView的自定义树形结构数据分级显示的方法及系统 |
CN108536360A (zh) * | 2018-03-15 | 2018-09-14 | 链家网(北京)科技有限公司 | 用于移动终端的多级菜单显示方法和装置 |
CN108647011A (zh) * | 2018-04-28 | 2018-10-12 | 北京酷我科技有限公司 | 一种无限层级树控件的实现 |
CN116755692A (zh) * | 2023-08-18 | 2023-09-15 | 山东为农信息科技有限公司 | 涉及安卓系统的无限层级选择方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1416052A (zh) * | 2001-10-29 | 2003-05-07 | 三星电子株式会社 | 通过电子设备显示屏上的菜单控制电子设备的方法和设备 |
CN1428993A (zh) * | 2001-12-28 | 2003-07-09 | 英业达股份有限公司 | 自动简化功能选单的移动通讯电子装置及方法 |
CN102214079A (zh) * | 2010-04-07 | 2011-10-12 | 阿里巴巴集团控股有限公司 | 微件数据的显示方法和装置 |
CN102841726A (zh) * | 2011-06-21 | 2012-12-26 | 腾讯科技(深圳)有限公司 | Android系统下实现多Tab页的系统、装置及方法 |
CN103309919A (zh) * | 2012-03-06 | 2013-09-18 | 国际商业机器公司 | 在树结构中呈现数据的方法与系统 |
-
2015
- 2015-12-24 CN CN201510979679.8A patent/CN105630306A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1416052A (zh) * | 2001-10-29 | 2003-05-07 | 三星电子株式会社 | 通过电子设备显示屏上的菜单控制电子设备的方法和设备 |
CN1428993A (zh) * | 2001-12-28 | 2003-07-09 | 英业达股份有限公司 | 自动简化功能选单的移动通讯电子装置及方法 |
CN102214079A (zh) * | 2010-04-07 | 2011-10-12 | 阿里巴巴集团控股有限公司 | 微件数据的显示方法和装置 |
CN102841726A (zh) * | 2011-06-21 | 2012-12-26 | 腾讯科技(深圳)有限公司 | Android系统下实现多Tab页的系统、装置及方法 |
CN103309919A (zh) * | 2012-03-06 | 2013-09-18 | 国际商业机器公司 | 在树结构中呈现数据的方法与系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255834A (zh) * | 2016-12-28 | 2018-07-06 | 航天信息股份有限公司 | 一种基于ListView的自定义树形结构数据分级显示的方法及系统 |
CN106649889A (zh) * | 2017-01-18 | 2017-05-10 | 深圳市华第时代科技有限公司 | 一种数据显示方法及装置 |
CN107391163A (zh) * | 2017-04-21 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 移动终端中页面数据加载方法、装置和应用 |
CN107632756A (zh) * | 2017-09-29 | 2018-01-26 | 深圳市元征科技股份有限公司 | 程序菜单显示方法及终端 |
CN108536360A (zh) * | 2018-03-15 | 2018-09-14 | 链家网(北京)科技有限公司 | 用于移动终端的多级菜单显示方法和装置 |
CN108647011A (zh) * | 2018-04-28 | 2018-10-12 | 北京酷我科技有限公司 | 一种无限层级树控件的实现 |
CN116755692A (zh) * | 2023-08-18 | 2023-09-15 | 山东为农信息科技有限公司 | 涉及安卓系统的无限层级选择方法及系统 |
CN116755692B (zh) * | 2023-08-18 | 2023-11-24 | 山东为农信息科技有限公司 | 涉及安卓系统的无限层级选择方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105630306A (zh) | 一种基于安卓平台的多级树形菜单的实现方法 | |
CN104793938B (zh) | 通知栏消息显示方法和系统 | |
US20090319929A1 (en) | Interface for multiple user spaces | |
CN105677313A (zh) | 通知消息的显示方法、装置及终端设备 | |
CN106777214B (zh) | 一种相册图片排序的方法及移动终端 | |
CN103503385A (zh) | 一种信息共享的方法及装置 | |
CN102520933A (zh) | 一种基于用户权限构建树形菜单的方法及装置 | |
WO2009039509A3 (en) | Ubiquitous media mashing interface across multiple heterogenous platforms and devices | |
CN109725975A (zh) | 消息被读状态的提示方法、装置和电子设备 | |
CN103809844B (zh) | 一种状态提示方法及电子设备 | |
JP5299993B2 (ja) | 地図表示装置および地図表示方法 | |
CN102012805A (zh) | 一种自定义光标的实现方法及装置 | |
CN103200292A (zh) | 一种菜单显示方法与终端 | |
CN105518603A (zh) | 一种操作界面处理方法及显示装置 | |
CN105867902A (zh) | 一种多媒体信息的分享方法及装置 | |
CN106028306A (zh) | 一种终端设备恢复出厂设置的方法、装置及终端设备 | |
CN105867779A (zh) | 一种图片传输方法、装置及电子设备 | |
CN105094824A (zh) | 一种智能手表上的通知消息展示方法以及一种智能手表 | |
CN105554271A (zh) | 电子设备及其应用的消息管理方法 | |
CN106469055B (zh) | 一种Web图形部署方法及装置 | |
CN105867868A (zh) | 一种图片显示的方法及终端 | |
CN105556570A (zh) | 生成屏幕数据 | |
KR20180000014A (ko) | 소셜 네트워크 서비스를 이용한 증강현실 제공 방법 | |
CN102866823A (zh) | 应用管理方法及通信终端 | |
CN105988679A (zh) | 一种信息呈现方法、装置及一种用户设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160601 |