CN102707887B - 基于安卓平台的listView中列表项的滑选方法 - Google Patents
基于安卓平台的listView中列表项的滑选方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000005096 rolling process Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 12
- 230000009471 action Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及一种基于安卓平台的listView中列表项的滑选方法,包括:识别并判断对应DOWN事件的坐标是否位于设定范围,是进入下一步,否则由listView控件自己处理,返回假,进入步骤106);102)选中当前列表项并作为开始位置,返回真;103)根据MOVE事件滑动选中开始位置到当前位置的所有列表项;104)识别并判断UP事件是否发生,是进入下一步,否则返回步骤103);105)选中开始位置到UP事件对应结束位置的所有列表项;106)结束。这种方法,能根据需要选中连续的item时,方便快速且用户体验好。
Description
技术领域
本发明涉及人机交互编程和触摸屏技术,具体涉及一种基于安卓(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事件发生时,取消对没有显示在屏幕上的列表项做的选中操作。
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)
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)
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)
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 | 삼성전자주식회사 | 휴대 단말기의 리스트 편집 방법 및 장치 |
EP2738654B1 (en) * | 2012-03-06 | 2020-12-02 | Huawei Device Co., Ltd. | Touch screen operation method and terminal |
-
2012
- 2012-05-11 CN CN201210146551.XA patent/CN102707887B/zh not_active Expired - Fee Related
Patent Citations (4)
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) | 电子装置的控制方法及其控制系统 | |
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) | 通过键入电梯呼叫来启动电梯服务的系统和方法 | |
WO2013189396A2 (zh) | 一种在触摸屏上移动应用图标的方法和系统 | |
CN102855085B (zh) | 一种电子终端的文件操作方法 | |
CN103513870B (zh) | 智能终端设备的列表界面中选择多项条目的方法及装置 | |
CN104881211A (zh) | 一种文件夹分类方法、系统及移动终端 | |
CN102609191A (zh) | 一种触摸屏手机的来信浏览交互方法 | |
CN103793137A (zh) | 一种显示方法及电子设备 | |
WO2014056338A1 (zh) | 一种移动终端列表数据交互方法及装置 | |
EP3194316A1 (en) | System and method of initiating elevator service by entering an elevator call | |
CN102830893A (zh) | 屏幕显示控制方法及系统 | |
EP3215448A1 (en) | System and method of initiating elevator service by entering an elevator call | |
CN103365532A (zh) | 一种终端应用程序显示的变动方法及系统 | |
CN103116446A (zh) | 一种触控便捷式设备列表交互方法 | |
CN106210259A (zh) | 一种分屏显示方法及终端 | |
CN103324430B (zh) | 多手指的物件操作方法及装置 | |
CN103024568A (zh) | 一种通过空中鼠标控制智能电视的控制方法及遥控系统 | |
CN111198644A (zh) | 智能终端的屏幕操作的识别方法及系统 | |
CN103631505B (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 |