专利名称:手持装置及利用其进行项目拖动控制的方法
技术领域:
本发明涉及一种电子装置及方法,尤其涉及一种手持装置及利用其进行项目拖动控制的方法。
背景技术:
目前手机的操作系统比较流行的主要有Android系统和iPhone系统两种。其中, 在Android系统中,图标不能自动排列,放置位置比较随意,只要是空位置都可以放,可以随心所欲的摆放图标,但如果要腾出一定空位置,需要一个一个移动原有图标。在iPhone 系统中,图标虽然可以自动排列,但没有对widget (微件,有别于一般图标,比图标占有的区域大)的自动排列,即没有实现widget和图标的混排。
发明内容
鉴于以上内容,有必要提供一种项目拖动控制方法,其可实现widget和图标的混排。在一个实施例中,该方法包括如下步骤(a)判断手持装置的触控式屏幕上的一个项目在拖动后位置是否发生变动,所述项目包括widget和图标;(b)如果该项目在拖动后位置发生变动,则更新当前屏幕项目列表,然后执行步骤 (c),如果该项目在拖动后位置没有发生变动,则直接执行步骤(c);(c)判断拖动项目有没有被放下,如果该拖动项目被放下,则在触控式屏幕上显示重新排列后的项目,如果该拖动项目没有被放下,则执行步骤(d);(d)计算该拖动项目的当前位置;(e)如果该拖动项目的位置没有变动,或该拖动项目盖在widget上面,则返回步骤(c),如果该拖动项目的位置发生变动,且该拖动项目没有盖在widget上面,则执行步骤 (f);(f)从当前屏幕项目列表中,依次获取一个项目;(g)如果该项目合法,则确定该项目移动的目标位置,将该合法的项目移动到确定的目标位置;及(h)如果该项目不合法,则返回步骤(f),转到下一个项目,直到所有项目执行完毕。前述方法可以由手持装置执行,其中该手持装置具有附带了图形用户界面(GUI) 的触控式屏幕、一个或多个处理器、存储器以及保存在存储器中用于执行这些方法的一个或多个模块、程序或指令集。在某些实施例中,该手持装置提供了包括无线通信在内的多种功能。用于执行前述方法的指令可以包含在被配置成由一个或多个处理器执行的计算机程序产品中。
相较于现有技术,所述的手持装置及利用其进行项目拖动控制的方法,在Android 系统的基础上实现了 widget和图标的混排。相对于原来实现,图标可以自动排列,widget 也可以挤走图标。如果用户移动widget或者图标到其它屏幕,那么其它屏幕在有空间放下该widget或者图标的情况下,也会自动排列。本发明在原有图标排列基础上增加widget和图标的混排,避免了 widget与图标排列无规则,使得用户界面更美观,不需要用户一个一个的去移动图标来腾出空位置创建 widget,使得操作更方便。
图1是本发明手持装置较佳实施例的结构方框图。图2是利用手持装置进行项目拖动控制的方法的较佳实施例的流程图。主要元件符号说明
手持装置2存储器21触控式屏幕22处理器23项目拖动控制系统210
具体实施例方式本发明涉及到一个自动排列的概念,所以先解释一下本发明自动排列的特点。本发明自动排列的概念我们可以把一个屏幕分成NXN的网格,也就是说有N行, N列,格子的序号从0到NXN-1。一般图标占用1X1个格子,widget (微件)占用的区域大于1X1小于等于NXN。假设一个图标的位置的索引为k,那么0到k-Ι都不能为空(被占用的位置为非空,没有占用则为空)。假设一个widget的长宽为iXj,左上角所在位置为第m行第η列,那么该widget所在区域(行范围为m到m+i-1,列范围为η到η+j-l所产生的交集)是不能再放其他图标或者widget,除非用户把该widget移走。如图1所示,是本发明手持装置较佳实施例的结构方框图。在本实施例中,该手持装置2包括存储器21、触控式屏幕22和处理器23。其中,所述项目拖动控制系统210 存储于存储器21中,用于对触控式屏幕22上的widget和图标进行混排,具体过程参见图 2的描述。在本实施例中,所述手持装置2包括,但不限于,手机或PDA (Personal Digital Assistant,个人数字助理)等具有资料处理功能的电子设备。在本实施例中,所述项目拖动控制系统210可以被分割成一个或多个模块,所述一个或多个模块被配置成由一个或多个处理器(本实施例为一个处理器2 执行,以完成本发明。本发明所称的模块是完成一特定功能的计算机程序段,比程序更适合于描述软件在计算机中的执行过程。
所述触控式屏幕22用于对通过指示笔或手指而在一个或多个接触点进行的物理接触做出响应。如图2所示,是利用手持装置进行项目拖动控制的方法的较佳实施例的流程图。步骤S10,判断触控式屏幕22上的一个项目在拖动后位置是否发生变动。在本实施例中,如果一个项目在拖动后位置发生过变动,则需要重新计算当前屏幕项目列表,执行步骤Sll ;如果一个项目在拖动后位置没有发生过变动,则不需要重新计算当前屏幕项目列表,执行步骤S12。其中,项目位置的初始状态为false(没有发生变动)。在本实施例中, 所述项目包括widget和图标两种类型。在其它实施例中,还可以设定为如果一个项目的位置变化值小于预设值(如1毫米),则判定该项目的位置没有发生变动;如果一个项目的位置变化值大于或等于该预设值,则判定该项目的位置发生过变动。步骤S11,根据该项目的位置变更,更新当前屏幕项目列表。在本实施例中,该当前屏幕项目列表用于存储每个项目的位置信息(如坐标值)和属性(如0和1)等。其中,项目的属性用于记录该项目是Widget还是图标。例如,用1记录该项目为widget,用0记录该项目为图标。例如,一个项目从A位置移动至B位置,则将该项目在当前屏幕项目列表中的位置信息更新为B位置。步骤S12,判断用户是否放下拖动项目。如果用户放下拖动项目,则在触控式屏幕 22上显示重新排列后的项目,流程结束;如果用户没有放下拖动项目,则执行步骤S13。步骤S13,计算该拖动项目的当前位置,即该拖动项目的新位置。在本实施例中,计算该拖动项目的当前位置是指计算该拖动项目的中心点坐标值。在其它实施例中,计算该拖动项目的当前位置后还进一步包括根据该拖动项目的当前位置进行边界处理。具体而言,如果该拖动项目的当前位置超出当前屏幕的边界,则调整该拖动项目的当前位置,使该拖动项目的当前位置靠近当前屏幕的边界。步骤S14,判断是否需要重新排列当前屏幕项目列表中的项目。在本实施例中, widget可以挤动图标,但图标不能挤动widget。具体而言,如果该拖动项目的位置没有变动,或该拖动项目盖在widget上面,则不需要重新排列当前屏幕项目列表中的项目,则返回步骤S12 ;如果该拖动项目的位置发生变动,且该拖动项目没有盖在widget上面,则需要重新排列当前屏幕项目列表中的项目,执行步骤S15。步骤S15,从当前屏幕项目列表中,依次获取一个项目。步骤S16,判断该项目是否合法。如果该项目合法,则执行步骤S17 ;如果该项目不合法,则转到步骤S19。当还有项目没有执行完毕时,再返回步骤S15,转到下一个项目;如果所有项目都执行完毕,则返回步骤S10。其中,判断该项目是否合法的规则为从当前屏幕第一个项目开始移动,如果该项目不是空位置,即该位置存放了 widget或图标,不是该拖动项目且不是widget,则为合
法移动项目;反之,如果该项目是空位置,或是该拖动项目或是widget,则为不合法移动项目。步骤S17,确定该项目移动的目标位置。其中,确定该项目移动的目标位置的规则为从当前屏幕第一个位置开始寻找目标位置,如果该位置是拖动项目的原有位置,或者如果该位置存放的不是拖动项目且不是拖动项目的当前位置且该位置存放的不是widget,则为合法目标位置;如果该位置是拖动项目的当前位置,或者如果该位置存放的是widget但该widget不等于拖动项目,则为不合法目标位置,转到下一个位置继续寻找目标位置。另外,如果所有位置都是不合法目标位置,则转到下一个项目。步骤S18,将该合法的项目移动到确定的目标位置,然后执行步骤S19。在本实施例中,如果该合法项目的位置的索引和确定的目标位置的索引相等,则该合法项目不需要移动;如果该合法项目的位置的索引和确定的目标位置的索引不相等, 则将该合法项目移动到确定的目标位置。步骤S19,判断当前屏幕项目列表中的所有项目是否执行完毕。如果所有项目执行完毕,则返回步骤S10;如果还有项目没有执行,则返回步骤S15,从当前屏幕项目列表中获取下一个项目,直至当前屏幕项目列表中中的所有项目读取完毕。在本实施例中,widget可以挤动图标,但图标不能挤动widget,也就是说widget 只能由用户操作移动,而不能自动被排列,而图标即可以由用户移动,也可以是自动被移动。在其它实施例中,也可以设定widget可以挤动图标,且图标也能挤动widget,这种变化对本领域技术人员来说可以轻易完成,不需要付出创造性地劳动。本实施例是在Android系统的手持装置上实现了 widget和图标的混排。在其它实施例中,也可以将本发明移植到其它系统(如iPhone系统)的手持装置上,这种变化对本领域技术人员来说可以轻易完成,不需要付出创造性地劳动。最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种项目拖动控制方法,其特征在于,该方法包括如下步骤(a)判断手持装置的触控式屏幕上的一个项目在拖动后位置是否发生变动,所述项目包括widget禾口图标;(b)如果该项目在拖动后位置发生变动,则更新当前屏幕项目列表,然后执行步骤 (c),如果该项目在拖动后位置没有发生变动,则直接执行步骤(c);(c)判断拖动项目有没有被放下,如果该拖动项目被放下,则在触控式屏幕上显示重新排列后的项目,如果该拖动项目没有被放下,则执行步骤(d);(d)计算该拖动项目的当前位置;(e)如果该拖动项目的位置没有变动,或该拖动项目盖在widget上面,则返回步骤 (c),如果该拖动项目的位置发生变动,且该拖动项目没有盖在widget上面,则执行步骤 (f);(f)从当前屏幕项目列表中,依次获取一个项目;(g)如果该项目合法,则确定该项目移动的目标位置,将该合法的项目移动到确定的目标位置;及(h)如果该项目不合法,则返回步骤(f),转到下一个项目,直到所有项目执行完毕。
2.如权利要求1所述的项目拖动控制方法,其特征在于,该方法还包括步骤如果该拖动项目的当前位置超出当前屏幕的边界,则调整该拖动项目的当前位置,使该拖动项目的当前位置靠近当前屏幕的边界。
3.如权利要求1所述的项目拖动控制方法,其特征在于,判断该项目是否合法的步骤包括从当前屏幕第一个项目开始移动,如果该项目不是空位置,不是该拖动项目且不是 widget,则为合法移动项目;及如果该项目是空位置,或是该拖动项目或是widget,则为不合法移动项目。
4.如权利要求1所述的项目拖动控制方法,其特征在于,所述确定该项目移动的目标位置的步骤包括从当前屏幕第一个位置开始寻找目标位置,如果该位置是拖动项目的原有位置,或者如果该位置存放的不是拖动项目且不是拖动项目的当前位置且该位置存放的不是widget, 则为合法目标位置;及如果该位置是拖动项目的当前位置,或者如果该位置存放的是widget但该widget不等于拖动项目,则为不合法目标位置。
5.如权利要求1所述的项目拖动控制方法,其特征在于,所述将该合法的项目移动到确定的目标位置的步骤包括如果该合法项目的位置和确定的目标位置的索引相等,则该合法项目不需要移动;及如果该合法项目的位置和确定的目标位置的索引不相等,则将该合法项目移动到确定的目标位置。
6.一种手持装置,包括触控式屏幕;存储器;一个或多个处理器;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行以下步骤的指令(a)判断手持装置的触控式屏幕上的一个项目在拖动后位置是否发生变动的指令,所述项目包括widget和图标;(b)如果该项目在拖动后位置发生变动,则更新当前屏幕项目列表,然后执行步骤(C) 的指令,如果该项目在拖动后位置没有发生变动,则直接执行步骤(c)的指令;(c)判断拖动项目有没有被放下的指令,如果该拖动项目被放下,则在触控式屏幕上显示重新排列后的项目,如果该拖动项目没有被放下,则执行步骤(d);(d)计算该拖动项目的当前位置的指令;(e)如果该拖动项目的位置没有变动,或该拖动项目盖在widget上面,则返回步骤(c) 的指令,如果该拖动项目的位置发生变动,且该拖动项目没有盖在widget上面,则执行步骤(f)的指令;(f)从当前屏幕项目列表中,依次获取一个项目的指令;(g)如果该项目合法,则确定该项目移动的目标位置,将该合法的项目移动到确定的目标位置的指令;及(h)如果该项目不合法,则返回步骤(f),转到下一个项目,直到所有项目执行完毕的指令。
7.如权利要求6所述的手持装置,其特征在于,所述一个或多个模块包括用于执行以下步骤的指令如果该拖动项目的当前位置超出当前屏幕的边界,则调整该拖动项目的当前位置,使该拖动项目的当前位置靠近当前屏幕的边界的指令。
8.如权利要求6所述的手持装置,其特征在于,判断该项目是否合法的指令包括从当前屏幕第一个项目开始移动,如果该项目不是空位置,不是该拖动项目且不是widget,则判断该项目为合法移动项目的指令;及如果该项目是空位置,或是该拖动项目或是widget,则判断该项目为不合法移动项目的指令。
9.如权利要求6所述的手持装置,其特征在于,所述确定该项目移动的目标位置的指令包括从当前屏幕第一个位置开始寻找目标位置,如果该位置是拖动项目的原有位置,或者如果该位置存放的不是拖动项目且不是拖动项目的当前位置且该位置存放的不是widget, 则判断该位置为合法目标位置的指令;及如果该位置是拖动项目的当前位置,或者如果该位置存放的是widget但该widget不等于拖动项目,则判断该位置为不合法目标位置的指令。
10.如权利要求6所述的手持装置,其特征在于,所述将该合法的项目移动到确定的目标位置的指令包括如果该合法项目的位置和确定的目标位置的索引相等,则判断该合法项目不需要移动的指令;及如果该合法项目的位置和确定的目标位置的索引不相等,则将该合法项目移动到确定的目标位置的指令。
全文摘要
一种手持装置及利用其进行项目拖动控制的方法,该方法包括如下步骤当手持装置的触控式屏幕上的一个项目在拖动后位置发生变动,更新当前屏幕项目列表,所述项目包括widget和图标;如果该拖动项目没有被放下,则计算该拖动项目的当前位置;如果该拖动项目的位置发生变动,且该拖动项目没有盖在widget上面,则从当前屏幕项目列表中,依次获取一个项目;如果该项目合法,则确定该项目移动的目标位置,将该合法的项目移动到确定的目标位置。利用本发明可实现widget和图标的混排。
文档编号G06F3/048GK102331898SQ20101022426
公开日2012年1月25日 申请日期2010年7月12日 优先权日2010年7月12日
发明者王定国, 鄢素涛, 黄小军 申请人:上海科泰世纪科技有限公司