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

文档序号:6369411阅读:181来源:国知局
专利名称:基于安卓平台的listView中列表项的滑选方法
技术领域
本发明涉及人机交互编程和触摸屏技术,具体涉及一种基于安卓(Android)平台的列表浏览控件(IistView)中列表项(item)的滑动选中方法。
背景技术
目前的Android手机上,对于IistView控件的设计大多都是基于用户界面(UI)和效率上,而且也很成熟,现在用户在需要选中IistView中多个item时,都需要一个一个的点击每个item,费时又费力,用户体验很差。但是在Android平台下还没有“在IistView控件上滑动选中item”的方法或者这样的方法被公开。为实现该方法至少须要解决以下两个关键问题 第一个关键问题是,Android操作系统的原生机制并不支持这个功能,在IistView上的滑动操作一般都会交给IistView控件自己处理,然后实现滚动动作,而IistView控件本身不能实现滑动选中item;第二个关键问题是,如果截断这个滑动操作(一个点下(DOWN)事件,一系列移动(MOVE)事件,一个离开(UP)事件)的一系列事件,那么IistView将不能实现滚动。因此,如果单从Android的机制来考虑,那么滑动选中item的设计是不可实现的。这样就必须解决以下一系列技术问题㈠手指的滑动动作,何时触发IistView的滚动操作,何时触发item的选中操作;㈡当手指的滑动动作触发的是选中item的操作,那么当手指上下滑动时,该怎么实现对item的逻辑处理;(Ξ)当手指滑动到最后一个(或第一个)显示的item时,需要实现IistView自动向上(或下)滚动;(H)当IistView开始自动滚动时,如何对滚动的效果做优化,使体验更好;㈤当UP事件响应时,对前面的操作做容错处理。

发明内容
本发明需要解决的技术问题是,如何提供一种基于安卓平台的IistView中列表项的滑选方法,能在不影响IistView控件滚动的基础上同时实现对item的滑动选中。本发明的技术问题这样解决构建一种基于安卓平台的IistView中列表项的滑选方法,利用触摸屏,包括以下步骤101)识别并判断对应DOWN事件的坐标是否位于设定范围(列表项选中位置)?是进入下一步,否则由IistView控件自己处理,返回假,进入步骤106);102)选中当前列表项并作为开始位置,返回真;103)根据MOVE事件滑动选中开始位置到当前位置的所有列表项;104)识别并判断UP事件是否发生?是进入下一步,否则返回步骤103);105)选中开始位置到UP事件对应结束位置的所有列表项;
IO6)结束。按照本发明提供的基于安卓平台的IistView中列表项的滑选方法,所述步骤103)中当前位置是第一个显示的列表项,IistView控件自动向上滚;所述步骤103)中当前位置是最后一个显示的列表项,IistView控件自动向下滚。按照本发明提供的基于安卓平台的IistView中列表项的滑选方法,所述步骤103)中最后一个显不的列表项是IistView的最后一个列表项或者所述步骤103)中第一个显示的列表项是IistView的第一个列表项,IistView控件停止滚动。按照本发明提供的基于安卓平台的IistView中列表项的滑选方法,对应DOWN事件的坐标是平面(Χ,γ)坐标或水平X坐标,优选X坐标。按照本发明提供的基于安卓平台的IistView中列表项的滑选方法,所述列表项包含各自对应的位于所述设定范围(列表项选中位置)的选中控件,所述选中控件在步骤102) -105)中标记被选中列表项。按照本发明提供的基于安卓平台的IistView中列表项的滑选方法,根据步骤101)中返回假由IistView控件自己处理MOVE事件和UP事件。按照本发明提供的基于安卓平台的IistView中列表项的滑选方法,步骤103)和105)都包括各自的容错处理。按照本发明提供的基于安卓平台的IistView中列表项的滑选方法,所述容错处理包括第一,当手指滑动到最后一个(或第一个)显示的item时,需要实现IistView自动向上(或下)滚动,当刚开始滚动的时候需要有个平滑滚动的效果,否则如果有item只显示一部分的话,在刚开始滚动时,屏幕上会出现闪动现象;第二,当up事件发生时,如果选中的最后一个item有超过一半的部分没有显示在屏幕上,则出于对操作合理性的考虑,取消对该item做选中的操作。本发明提供的基于安卓平台的IistView中列表项的滑选方法,突破传统思维,创造性地将同一个滑动动作设计成可以响应两个不同的操作,较现有技术具有以下优点I、能需要选中连续的item时,方便又快速;2、滑动选中最后一个显示的列表项,IistView控件自动向上/下滚,用户体验好;3、最后一个显不的列表项是IistView的第一个列表项或最后一个列表项,IistView控件停止滚动,用户体验很好。


下面结合附图和具体实施例进一步对本发明进行详细说明图I为本发明具体实施例Android触摸屏智能手机上的IistView控件上手指滑动处理程序软件流程示意图。
具体实施例方式首先,说明本发明创意基于用户体验来设计,通过大胆创新,创造性地将同一个滑动动作设计成可以响应两个不同的操作,从而即不影响IistView控件本身响应滚动动作,同时又实现了滑动选中item的功能。
第二,详述本发明具体技术方案和关键步骤I、当DOWN事件发生时,根据checkBox的位置设定一个坐标的区间(该区间标记的是checkBox的附近区域)。因为要实现选中多个item的操作,所以每个item中会有一个checkBox控件来标记当前的item是否被选中;如果item的选中状态是由其他控件标示的,那么同理可根据该控件的位置设定坐标比较的区间。步骤2、根据DOWN事件的坐标判断是否要交给IistView处理。当DOWN事件的x坐标在设定的坐标区间内时,则上下滑动时触发选中item的操作,通过选中该item中的checkBox控件作为标记;如果DOWN事件的x坐标不在设定的区间内,则直接交给IistView自己处理。步骤3、如果交给IistView处理,贝U直接返回false,后续的UP及MOVE事件全部不做处理,直接返回false ;步骤4、如果DOWN事件交给自己的逻辑处理,则处理完毕后,返回true。 后面的步骤,都是在将滑动的动作交给自己处理(即滑动选中item)的前提下。步骤5、每次MOVE事件发生,则执行自己的逻辑处理,首先,判断是否要选中被手指按下的item ;其次,如果手指持续按下的是最后一个(第一个)显示的item,则使IistView向上(下)滚动;最后,如果手指按下的是IistView的最后一个item,则IistView停止滚动。逻辑处理完成后返回true ;步骤6、当UP事件发生时,对事件的结束做些容错处理,然后返回true ;步骤7、结束。第三,结合本发明一个优选具体实施例进行详细说明如图I所示,本发明具体实施例Android触摸屏智能手机上的IistView控件上手指滑动处理程序具体包括以下步骤301)在IistView控件界面,利用触摸屏检测到DOWN事件发生;302)判断对应DOWN事件的坐标是否在IistView控件上设定的范围(位于列表项选中位置)?是进入步骤303),否则进入步骤201);201)直接返回假(false);202)等待下个事件到来;203)识别判断UP事件是否发生?是返回false,进入步骤312);否则进入下一步;204) MOVE 事件发生(IistView 控件滚动);205)返回 false,进入步骤 202);303)触发item选中逻辑,返回真(ture);304)等待下个事件到来;305)识别并判断UP事件是否发生?是则后期容错处理、返回ture、进入步骤312),否则进入下一步;306)触发item选中逻辑;307)判断选中的item是否第一个显示/最后一个显示的item 是进入下一步,否则进入步骤309);308) IistView控件自动向上/下滚动;309)判断选中的item是否最后一个显示的item 是进入下一步,否则进入步骤311);310) IistView 控件停止滚动;311)容错处理、返回ture、进入步骤304);312)结束。其中步骤305)和311)中容错处理包括,当up事件发生时,如果选中的最后一个item有超过一半的部分没有显示在屏幕上,则出于对操作合理性的考虑,取消对该item做选中的操作。
最后,以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明权利要求的涵盖范围。
权利要求
1.一种基于安卓平台的IistView中列表项的滑选方法,其特征在于,利用触摸屏,包括以下步骤 101)识别并判断对应DOWN事件的坐标是否位于设定范围?是进入下一歩,否则由IistView控件自己处理,返回假,进入步骤106); 102)选中当前列表项并作为开始位置,返回真; 103)根据MOVE事件滑动选中开始位置到当前位置的所有列表项; 104)识别并判断UP事件是否发生?是进入下一歩,否则返回步骤103); 105)选中开始位置到UP事件对应结束位置的所有列表项; 106)结束。
2.根据权利要求I所述基于安卓平台的IistView中列表项的滑选方法,其特征在干,所述步骤103)中当前位置是第一个显示的列表项,IistView控件自动向上滚;所述步骤103)中当前位置是最后一个显示的列表项,IistView控件自动向下滚。
3.根据权利要求2所述基于安卓平台的IistView中列表项的滑选方法,其特征在干,所述步骤103)中最后ー个显示的列表项是IistView的最后ー个列表项或者所述步骤103)中第一个显示的列表项是IistView的第一个列表项,IistView控件停止滚动。
4.根据权利要求1-3任一项所述基于安卓平台的IistView中列表项的滑选方法,其特征在于,对应DOWN事件的坐标是X坐标。
5.根据权利要求1-3任一项所述基于安卓平台的IistView中列表项的滑选方法,其特征在于,所述列表项包含各自对应的位于所述设定范围的选中控件,所述选中控件在步骤102)-105)中标记被选中列表项。
6.根据权利要求1-3任一项所述基于安卓平台的IistView中列表项的滑选方法,其特征在于,根据步骤101)中返回假由IistView控件自己处理MOVE事件和UP事件。
7.根据权利要求1-3任一项所述基于安卓平台的IistView中列表项的滑选方法,其特征在于,步骤103)和105)都包括各自的容错处理。
8.根据权利要求7所述基于安卓平台的IistView中列表项的滑选方法,其特征在干,所述步骤103)中容错处理包括在刚开始滚动时,防止屏幕闪动;所述步骤105)中容错处理包括当up事件发生时,取消对没有显示在屏幕上的item做的选中操作。
全文摘要
本发明涉及一种基于安卓平台的listView中列表项的滑选方法,包括识别并判断对应DOWN事件的坐标是否位于设定范围,是进入下一步,否则由listView控件自己处理,返回假,进入步骤106);102)选中当前列表项并作为开始位置,返回真;103)根据MOVE事件滑动选中开始位置到当前位置的所有列表项;104)识别并判断UP事件是否发生,是进入下一步,否则返回步骤103);105)选中开始位置到UP事件对应结束位置的所有列表项;106)结束。这种方法,能根据需要选中连续的item时,方便快速且用户体验好。
文档编号G06F3/041GK102707887SQ20121014655
公开日2012年10月3日 申请日期2012年5月11日 优先权日2012年5月11日
发明者曾元清 申请人:广东欧珀移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1