CN102707887B - 基于安卓平台的listView中列表项的滑选方法 - Google Patents

基于安卓平台的listView中列表项的滑选方法 Download PDF

Info

Publication number
CN102707887B
CN102707887B CN201210146551.XA CN201210146551A CN102707887B CN 102707887 B CN102707887 B CN 102707887B CN 201210146551 A CN201210146551 A CN 201210146551A CN 102707887 B CN102707887 B CN 102707887B
Authority
CN
China
Prior art keywords
list items
listview
event
android platform
control
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.)
Expired - Fee Related
Application number
CN201210146551.XA
Other languages
English (en)
Other versions
CN102707887A (zh
Inventor
曾元清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201210146551.XA priority Critical patent/CN102707887B/zh
Publication of CN102707887A publication Critical patent/CN102707887A/zh
Application granted granted Critical
Publication of CN102707887B publication Critical patent/CN102707887B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

本发明涉及一种基于安卓平台的listView中列表项的滑选方法,包括:识别并判断对应DOWN事件的坐标是否位于设定范围,是进入下一步,否则由listView控件自己处理,返回假,进入步骤106);102)选中当前列表项并作为开始位置,返回真;103)根据MOVE事件滑动选中开始位置到当前位置的所有列表项;104)识别并判断UP事件是否发生,是进入下一步,否则返回步骤103);105)选中开始位置到UP事件对应结束位置的所有列表项;106)结束。这种方法,能根据需要选中连续的item时,方便快速且用户体验好。

Description

基于安卓平台的listView中列表项的滑选方法
技术领域
本发明涉及人机交互编程和触摸屏技术,具体涉及一种基于安卓(Android)平台的列表浏览控件(listView)中列表项(item)的滑动选中方法。
背景技术
目前的Android手机上,对于listView控件的设计大多都是基于用户界面(UI)和效率上,而且也很成熟,现在用户在需要选中listView中多个item时,都需要一个一个的点击每个item,费时又费力,用户体验很差。但是在Android平台下还没有“在listView控件上滑动选中item”的方法或者这样的方法被公开。为实现该方法至少须要解决以下两个关键问题:
第一个关键问题是,Android操作***的原生机制并不支持这个功能,在listView上的滑动操作一般都会交给listView控件自己处理,然后实现滚动动作,而listView控件本身不能实现滑动选中item;
第二个关键问题是,如果截断这个滑动操作(一个点下(DOWN)事件,一系列移动(MOVE)事件,一个离开(UP)事件)的一系列事件,那么listView将不能实现滚动。
因此,如果单从Android的机制来考虑,那么滑动选中item的设计是不可实现的。这样就必须解决以下一系列技术问题:
㈠手指的滑动动作,何时触发listView的滚动操作,何时触发item的选中操作;
㈡当手指的滑动动作触发的是选中item的操作,那么当手指上下滑动时,该怎么实现对item的逻辑处理;
㈢当手指滑动到最后一个(或第一个)显示的item时,需要实现listView自动向上(或下)滚动;
㈣当listView开始自动滚动时,如何对滚动的效果做优化,使体验更好;
㈤当UP事件响应时,对前面的操作做容错处理。
发明内容
本发明需要解决的技术问题是,如何提供一种基于安卓平台的listView中列表项的滑选方法,能在不影响listView控件滚动的基础上同时实现对item的滑动选中。
本发明的技术问题这样解决:构建一种基于安卓平台的listView中列表项的滑选方法,利用触摸屏,包括以下步骤:
101)识别并判断对应DOWN事件的坐标是否位于设定范围(列表项选中位置)?是进入下一步,否则由listView控件自己处理,返回假,进入步骤106);
102)选中当前列表项并作为开始位置,返回真;
103)根据MOVE事件滑动选中开始位置到当前位置的所有列表项;
104)识别并判断UP事件是否发生?是进入下一步,否则返回步骤103);
105)选中开始位置到UP事件对应结束位置的所有列表项;
106)结束。
按照本发明提供的基于安卓平台的listView中列表项的滑选方法,所述步骤103)中当前位置是第一个显示的列表项,listView控件自动向下滚;所述步骤103)中当前位置是最后一个显示的列表项,listView控件自动向上滚。
按照本发明提供的基于安卓平台的listView中列表项的滑选方法,第一个显示的列表项是最上方显示的列表项,最后一个显示的列表项是最下方显示的列表项。
按照本发明提供的基于安卓平台的listView中列表项的滑选方法,所述步骤103)中最后一个显示的列表项是listView的最后一个列表项或者所述步骤103)中第一个显示的列表项是listView的第一个列表项,listView控件停止滚动。
按照本发明提供的基于安卓平台的listView中列表项的滑选方法,对应DOWN事件的坐标是平面(X,Y)坐标或水平X坐标,优选X坐标。
按照本发明提供的基于安卓平台的listView中列表项的滑选方法,所述列表项包含各自对应的位于所述设定范围(列表项选中位置)的选中控件,所述选中控件在步骤102)-105)中标记被选中列表项。
按照本发明提供的基于安卓平台的listView中列表项的滑选方法,根据步骤101)中返回假由listView控件自己处理MOVE事件和UP事件。
按照本发明提供的基于安卓平台的listView中列表项的滑选方法,步骤103)和105)都包括各自的容错处理。
按照本发明提供的基于安卓平台的listView中列表项的滑选方法,所述容错处理包括:第一,当手指滑动到最后一个(或第一个)显示的item时,需要实现listView自动向上(或下)滚动,当刚开始滚动的时候需要有个平滑滚动的效果,否则如果有item只显示一部分的话,在刚开始滚动时,屏幕上会出现闪动现象;第二,当up事件发生时,如果选中的最后一个item有超过一半的部分没有显示在屏幕上,则出于对操作合理性的考虑,取消对该item做选中的操作。
本发明提供的基于安卓平台的listView中列表项的滑选方法,突破传统思维,创造性地将同一个滑动动作设计成可以响应两个不同的操作,较现有技术具有以下优点:
1、能需要选中连续的item时,方便又快速;
2、滑动选中最后一个显示的列表项,listView控件自动向上/下滚,用户体验好;
3、最后一个显示的列表项是listView的第一个列表项或最后一个列表项,listView控件停止滚动,用户体验很好。
附图说明
下面结合附图和具体实施例进一步对本发明进行详细说明:
图1为本发明具体实施例Android触摸屏智能手机上的listView控件上手指滑动处理程序软件流程示意图。
具体实施方式
首先,说明本发明创意:
基于用户体验来设计,通过大胆创新,创造性地将同一个滑动动作设计成可以响应两个不同的操作,从而即不影响listView控件本身响应滚动动作,同时又实现了滑动选中item的功能。
第二,详述本发明具体技术方案和关键:
步骤1、当DOWN事件发生时,根据checkBox的位置设定一个坐标的区间(该区间标记的是checkBox的附近区域)。因为要实现选中多个item的操作,所以每个item中会有一个checkBox控件来标记当前的item是否被选中;如果item的选中状态是由其他控件标示的,那么同理可根据该控件的位置设定坐标比较的区间。
步骤2、根据DOWN事件的坐标判断是否要交给listView处理。当DOWN事件的x坐标在设定的坐标区间内时,则上下滑动时触发选中item的操作,通过选中该item中的checkBox控件作为标记;如果DOWN事件的x坐标不在设定的区间内,则直接交给listView自己处理。
步骤3、如果交给listView处理,则直接返回false,后续的UP及MOVE事件全部不做处理,直接返回false;
步骤4、如果DOWN事件交给自己的逻辑处理,则处理完毕后,返回true。
后面的步骤,都是在将滑动的动作交给自己处理(即滑动选中item)的前提下。
步骤5、每次MOVE事件发生,则执行自己的逻辑处理,首先,判断是否要选中被手指按下的item;其次,如果手指持续按下的是最后一个(第一个)显示的item,则使listView向上(下)滚动;最后,如果手指按下的是listView的最后一个item,则listView停止滚动。逻辑处理完成后返回true;
步骤6、当UP事件发生时,对事件的结束做些容错处理,然后返回true;
步骤7、结束。
第三,结合本发明一个优选具体实施例进行详细说明:
如图1所示,本发明具体实施例Android触摸屏智能手机上的listView控件上手指滑动处理程序具体包括以下步骤:
301)在listView控件界面,利用触摸屏检测到DOWN事件发生;
302)判断对应DOWN事件的坐标是否在listView控件上设定的范围(位于列表项选中位置)?是进入步骤303),否则进入步骤201);
201)直接返回假(false);
202)等待下个事件到来;
203)识别判断UP事件是否发生?是返回false,进入步骤312);否则进入下一步;
204)MOVE事件发生(listView控件滚动);
205)返回false,进入步骤202);
303)触发item选中逻辑,返回真(ture);
304)等待下个事件到来;
305)识别并判断UP事件是否发生?是则后期容错处理、返回ture、进入步骤312),否则进入下一步;
306)触发item选中逻辑;
307)判断选中的item是否第一个显示/最后一个显示的item?是进入下一步,否则进入步骤309);
308)listView控件自动向上/下滚动;
309)判断选中的item是否最后一个显示的item?是进入下一步,否则进入步骤311);
310)listView控件停止滚动;
311)容错处理、返回ture、进入步骤304);
312)结束。
其中:步骤305)和311)中容错处理包括,当up事件发生时,如果选中的最后一个item有超过一半的部分没有显示在屏幕上,则出于对操作合理性的考虑,取消对该item做选中的操作。
最后,以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明权利要求的涵盖范围。

Claims (6)

1.一种基于安卓平台的listView中列表项的滑选方法,其特征在于,利用触摸屏,包括以下步骤:
101)识别并判断对应DOWN事件的坐标是否位于设定范围?是进入下一步,否则由listView控件自己处理,返回假,进入步骤106);
102)选中当前列表项并作为开始位置,返回真;
103)根据MOVE事件滑动选中开始位置到当前位置的所有列表项;
104)识别并判断UP事件是否发生?是进入下一步,否则返回步骤103);
105)选中开始位置到UP事件对应结束位置的所有列表项;
106)结束;
所述步骤103)中当前位置是第一个显示的列表项,listView控件自动向下滚;所述步骤103)中当前位置是最后一个显示的列表项,listView控件自动向上滚;所述步骤103)中最后一个显示的列表项是listView的最后一个列表项或者所述步骤103)中第一个显示的列表项是listView的第一个列表项,listView控件停止滚动。
2.根据权利要求1所述基于安卓平台的listView中列表项的滑选方法,其特征在于,对应DOWN事件的坐标是X坐标。
3.根据权利要求1所述基于安卓平台的listView中列表项的滑选方法,其特征在于,所述列表项包含各自对应的位于所述设定范围的选中控件,所述选中控件在步骤102)-105)中标记被选中列表项。
4.根据权利要求1所述基于安卓平台的listView中列表项的滑选方法,其特征在于,根据步骤101)中返回假由listView控件自己处理MOVE事件和UP事件。
5.根据权利要求1所述基于安卓平台的listView中列表项的滑选方法,其特征在于,步骤103)和105)都包括各自的容错处理。
6.根据权利要求5所述基于安卓平台的listView中列表项的滑选方法,其特征在于,所述步骤103)中容错处理包括:在刚开始滚动时,防止屏幕闪动;所述步骤105)中容错处理包括:当UP事件发生时,取消对没有显示在屏幕上的列表项做的选中操作。
CN201210146551.XA 2012-05-11 2012-05-11 基于安卓平台的listView中列表项的滑选方法 Expired - Fee Related CN102707887B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210146551.XA CN102707887B (zh) 2012-05-11 2012-05-11 基于安卓平台的listView中列表项的滑选方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210146551.XA CN102707887B (zh) 2012-05-11 2012-05-11 基于安卓平台的listView中列表项的滑选方法

Publications (2)

Publication Number Publication Date
CN102707887A CN102707887A (zh) 2012-10-03
CN102707887B true CN102707887B (zh) 2015-02-11

Family

ID=46900732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210146551.XA Expired - Fee Related CN102707887B (zh) 2012-05-11 2012-05-11 基于安卓平台的listView中列表项的滑选方法

Country Status (1)

Country Link
CN (1) CN102707887B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914213B (zh) * 2012-12-31 2017-02-15 北京新媒传信科技有限公司 一种用于消除页面抖动的方法和装置
CN103558963A (zh) * 2013-11-11 2014-02-05 北京网秦天下科技有限公司 用于显示多层级列表的***和方法
CN104391682B (zh) * 2014-07-24 2019-08-27 贵阳朗玛信息技术股份有限公司 一种显示内容的方法及装置
CN105183326B (zh) * 2015-07-17 2018-05-08 小米科技有限责任公司 列表显示方法及装置
CN105353956A (zh) * 2015-10-27 2016-02-24 北京齐尔布莱特科技有限公司 在移动设备中实现ListView横向滑动的方法
CN105451077B (zh) * 2015-12-02 2019-01-29 Tcl集团股份有限公司 一种基于模块电视的按键处理方法及***
CN105898519A (zh) * 2015-12-31 2016-08-24 乐视致新电子科技(天津)有限公司 WiFi列表显示方法及装置
CN105786518A (zh) * 2016-03-17 2016-07-20 武汉斗鱼网络科技有限公司 一种列表加载时的反馈方法及装置
CN106155498A (zh) * 2016-06-27 2016-11-23 上海若雅软件***有限公司 一种安卓平台上防止列表滑动卡顿的图片加载方法
CN109032473A (zh) * 2018-08-09 2018-12-18 广州市箭冠网络科技有限公司 一种基于Android设备的列表顶部返回方法
CN112905075B (zh) * 2021-02-24 2022-06-07 富途网络科技(深圳)有限公司 页面显示方法、装置及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101634900A (zh) * 2008-07-25 2010-01-27 深圳富泰宏精密工业有限公司 项目选单***及方法
CN102096543A (zh) * 2009-12-15 2011-06-15 和硕联合科技股份有限公司 使用者介面的控制方法
CN102362255A (zh) * 2009-03-24 2012-02-22 微软公司 具有滑块按钮的虚拟键盘
CN102760029A (zh) * 2011-04-29 2012-10-31 汉王科技股份有限公司 在显示界面上操作列表的方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7907974B2 (en) * 2007-01-04 2011-03-15 Microsoft Corporation Scrollable computing device display
KR20110093097A (ko) * 2010-02-11 2011-08-18 삼성전자주식회사 휴대 단말기의 리스트 편집 방법 및 장치
ES2845274T3 (es) * 2012-03-06 2021-07-26 Huawei Device Co Ltd Método de operación de pantalla táctil y terminal

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101634900A (zh) * 2008-07-25 2010-01-27 深圳富泰宏精密工业有限公司 项目选单***及方法
CN102362255A (zh) * 2009-03-24 2012-02-22 微软公司 具有滑块按钮的虚拟键盘
CN102096543A (zh) * 2009-12-15 2011-06-15 和硕联合科技股份有限公司 使用者介面的控制方法
CN102760029A (zh) * 2011-04-29 2012-10-31 汉王科技股份有限公司 在显示界面上操作列表的方法和装置

Also Published As

Publication number Publication date
CN102707887A (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
CN102707887B (zh) 基于安卓平台的listView中列表项的滑选方法
US11740725B2 (en) Devices, methods, and user interfaces for processing touch events
CN102722334B (zh) 触摸屏幕的控制方法及装置
CN101488063B (zh) 电子装置的控制方法及其控制***
KR101229699B1 (ko) 애플리케이션 간의 콘텐츠 이동 방법 및 이를 실행하는 장치
CN102946462A (zh) 一种基于手机的联系人信息分组处理方法及手机
US20130212541A1 (en) Method, a device and a system for receiving user input
US20140059460A1 (en) Method for displaying graphical user interfaces and electronic device using the same
CN107000972B (zh) 通过键入电梯呼叫来启动电梯服务的***和方法
CN103513870B (zh) 智能终端设备的列表界面中选择多项条目的方法及装置
CN104881211A (zh) 一种文件夹分类方法、***及移动终端
CN102609191A (zh) 一种触摸屏手机的来信浏览交互方法
CN103793137A (zh) 一种显示方法及电子设备
WO2014056338A1 (zh) 一种移动终端列表数据交互方法及装置
WO2016044061A1 (en) System and method of initiating elevator service by entering an elevator call
WO2016073061A1 (en) System and method of initiating elevator service by entering an elevator call
CN102830893A (zh) 屏幕显示控制方法及***
CN103365532A (zh) 一种终端应用程序显示的变动方法及***
CN104571679A (zh) 触控方法及电子装置
CN103294392A (zh) 用于在移动装置中编辑内容视图的方法和设备
CN106201235A (zh) 对象选择的方法、装置及终端
CN106210259A (zh) 一种分屏显示方法及终端
CN103116446A (zh) 一种触控便捷式设备列表交互方法
CN103324430B (zh) 多手指的物件操作方法及装置
CN103024568A (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
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Patentee after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Patentee before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150211