控件拖拽方法和装置制造方法及图纸

技术编号:8593776 阅读:176 留言:0更新日期:2013-04-18 06:55
本发明专利技术公开了一种控件拖拽方法和装置,属于拖拽技术领域。所述方法包括:当第一容器内的控件被拖拽出第一容器时,获取所述控件的属性;如果支持容器外拖拽,则将所述控件从第一容器中移除,生成拖拽源;当拖拽结束时,获取所述控件当前的位置;如果该位置位于第二容器中,则将所述拖拽源发送给第二容器,由第二容器决定是否接收所述拖拽源;如果该位置无容器,由第一容器的业务逻辑层判断是否进行处理,若进行处理,则生成一个新的容器,将所述拖拽源发送给新的容器,由新的容器接收并显示所述拖拽源。所述装置包括:第一容器,该第一容器包括第一处理模块和第二处理模块。本发明专利技术实现了跨容器的控件拖拽,提高了控件布局的灵活性。

【技术实现步骤摘要】

本专利技术涉及拖拽
,特别涉及一种控件拖拽方法和装置
技术介绍
目前,很多种应用程序都支持拖拽的功能。拖拽是将应用程序中的某些控件通过鼠标或手指拖放操作,从原来的位置移动到其它位置的过程。当鼠标或手指按下某一控件并且按住开始拖拽时,该控件会随着鼠标或手指的移动而移动,当鼠标或手指放开该控件时,拖拽结束,该控件就停留在鼠标或手指放开时的位置。用户通过拖拽操作可以很方便地将控件移动到指定位置。但是,目前的拖拽通常是仅支持容器内的拖拽,用户可以将一个控件从容器内的一个位置拖拽至另一个位置,当用户需要将控件拖拽至容器外的其它位置时,则无法实现。
技术实现思路
为了实现跨容器的控件拖拽,本专利技术提供了 一种控件拖拽方法和装置。所述技术方案如下一方面,本专利技术提供了一种控件拖拽方法,所述方法包括当第一容器内的控件被拖拽出所述第一容器时,获取所述控件的属性;如果所述控件的属性支持容器外拖拽,则将所述控件从所述第一容器中移除,生成所述控件的拖拽源;当拖拽结束时,获取所述控件当前的位置;如果所述位置位于第二容器中,则将所述控件的拖拽源发送给所述第二容器,由所述第二容器决定是否接收所述控件的拖拽源;如果所述位置无容器,由所述第一容器的业务逻辑层判断是否对所述拖拽进行处理,如果对所述拖拽进行处理,则生成一个新的容器,将所述控件的拖拽源发送给所述新的容器,由所述新的容器接收并显示所述控件的拖拽源。其中,所述方法还包括在所述控件在所述第一容器内移动的过程中,动画显示被所述控件挤压的各个控件的移动过程,其中,每一个被挤压的控件均从原来所在的位置,沿着与被拖拽的所述控件移动的相反方向,移动至相邻的位置处。其中,所述方法还包括将所述控件的拖拽源发送给所述第二容器后,所述第二容器根据所述拖拽源判断所述控件的名称是否符合预设的命名条件;如果所述控件的名称符合预设的命名条件,则所述第二容器允许所述控件停靠,接收所述控件的拖拽源并在所述第二容器中显示所述控件的拖拽源;如果所述控件的名称不符合预设的命名条件,则所述第二容器拒绝接收所述控件的拖拽源。其中,所述方法还包括如果所述控件的属性支持容器外拖拽,则按照预设的透明度生成所述控件的虚影,在界面上显示所述虚影,且使所述虚影随所述控件的移动而移动;当拖拽结束时,停止显示所述虚影。其中,所述方法还包括将所述控件从所述第一容器中移除后,判断所述第一容器中是否还有其它控件,如果没有其它控件,则由所述第一容器的业务逻辑层决定是否销毁所述第一容器。另一方面,本专利技术还提供了一种控件拖拽装置,所述装置包括第一容器,所述第一容器包括第一处理模块,用于当所述第一容器内的控件被拖拽出所述第一容器时,获取所述控件的属性;如果所述控件的属性支持容器外拖拽,则将所述控件从所述第一容器中移除,生成所述控件的拖拽源;第二处理模块,用于当拖拽结束时,获取所述控件当前的位置;如果所述位置位于第二容器中,则将所述控件的拖拽源发送给所述第二容器,由所述第二容器决定是否接收所述控件的拖拽源;如果所述位置无容器,由所述第一容器的业务逻辑层判断是否对所述拖拽进行处理,如果对所述拖拽进行处理,则生成一个新的容器,将所述控件的拖拽源发送给所述新的容器,由所述新的容器接收并显示所述控件的拖拽源。其中,所述装置还包括动画显示模块,用于在所述控件在所述第一容器内移动的过程中,动画显示被所述控件挤压的各个控件的移动过程,其中,每一个被挤压的控件均从原来所在的位置,沿着与被拖拽的所述控件移动的相反方向,移动至相邻的位置处。其中,所述装置还包括所述第二容器,所述第二容器包括判断模块,用于当所述第一容器的第二处理模块将所述控件的拖拽源发送给所述第二容器后,根据所述拖拽源判断所述控件的名称是否符合预设的命名条件;控制模块,用于如果所述控件的名称符合预设的命名条件,则允许所述控件停靠,接收所述控件的拖拽源并在所述第二容器中显示所述控件的拖拽源;如果所述控件的名称不符合预设的命名条件,则拒绝接收所述控件的拖拽源。其中,所述装置还包括虚影处理模块,用于如果所述控件的属性支持容器外拖拽,则按照预设的透明度生成所述控件的虚影,在界面上显示所述虚影,且使所述虚影随所述控件的移动而移动;当拖拽结束时,停止显示所述虚影。其中,所述第一处理模块还用于将所述控件从所述第一容器中移除后,判断所述第一容器中是否还有其它控件,如果没有其它控件,则由所述第一容器的业务逻辑层决定是否销毁所述第一容器。本专利技术提供的技术方案带来的有益效果是通过获取被拖拽至容器外的控件的属性,在所述属性支持容器外拖拽时,生成所述控件的拖拽源,并根据拖拽结束时控件当前的位置,将拖拽源发送给第二容器或者新的容器,由所述第二容器决定是否接收所述拖拽源,或者由新的容器接收并显示所述拖拽源,从而实现了跨容器的控件拖拽,提高了控件布局的灵活性,为用户提供了一种灵活的、可控的布局方式,能够达到用户根据自身喜好和需求来进行控件布局的效果。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施例提供的控件拖拽方法流程图;图2是本专利技术另一实施例提供的控件拖拽方法流程图;图3是本专利技术实施例提供的控件显示示意图;图4是本专利技术一实施例提供的控件拖拽装置结构图;图5是本专利技术另一实施例提供的控件拖拽装置结构图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。参见图1,本专利技术一实施例提供了一种控件拖拽方法,包括101 :当第一容器内的控件被拖拽出第一容器时,获取该控件的属性。102 :如果该控件的属性支持容器外拖拽,则将该控件从第一容器中移除,生成该控件的拖拽源。103 :当拖拽结束时,获取该控件当前的位置。104 :如果该位置位于第二容器中,则将该控件的拖拽源发送给第二容器,由第二容器决定是否接收该控件的拖拽源;如果该位置无容器,由所述第一容器的业务逻辑层判断是否对所述拖拽进行处理,如果对所述拖拽进行处理,则生成一个新的容器,将该控件的拖拽源发送给新的容器,由新的容器接收并显示该控件的拖拽源。本实施例中涉及的所有容器均是指同一个应用程序内的容器。通常一个应用程序可以包括多个容器,容器的载体是窗口,一个窗口内可以只包括一个容器,当然也可以包括多个容器。一个容器内可以包括一个控件,当然也可以包括多个控件。本实施例中涉及的控件是指应用程序内的控件,包括该应用程序提供的控件,以及用户根据该应用程序提供的功能自定义的控件等。本实施例中,控件的属性通常有多种,如名称、大小、颜色、位置等等,本实施例主要涉及其中的一个属性,就是该控件是否支持容器外拖拽,如果一个控件具有支持容器外拖拽的属性,则当该控件被拖拽至容器外时按照上述方法执行相应的流程,如果一个控件不具有支持容器外拖拽的属性,则当该控件被拖拽至容器外时禁止该控件继续拖拽,仍然保留该控件在原来的容器中。本实施例中,一个控件的拖拽源是指与该控件有关的各种信息,包括但不限于该控件本身的信息,以及该控件加载的页面的相关信息等等。当一本文档来自技高网...

【技术保护点】
一种控件拖拽方法,其特征在于,所述方法包括:当第一容器内的控件被拖拽出所述第一容器时,获取所述控件的属性;如果所述控件的属性支持容器外拖拽,则将所述控件从所述第一容器中移除,生成所述控件的拖拽源;当拖拽结束时,获取所述控件当前的位置;如果所述位置位于第二容器中,则将所述控件的拖拽源发送给所述第二容器,由所述第二容器决定是否接收所述控件的拖拽源;如果所述位置无容器,由所述第一容器的业务逻辑层判断是否对所述拖拽进行处理,如果对所述拖拽进行处理,则生成一个新的容器,将所述控件的拖拽源发送给所述新的容器,由所述新的容器接收并显示所述控件的拖拽源。

【技术特征摘要】
1.一种控件拖拽方法,其特征在于,所述方法包括 当第一容器内的控件被拖拽出所述第一容器时,获取所述控件的属性; 如果所述控件的属性支持容器外拖拽,则将所述控件从所述第一容器中移除,生成所述控件的拖拽源; 当拖拽结束时,获取所述控件当前的位置; 如果所述位置位于第二容器中,则将所述控件的拖拽源发送给所述第二容器,由所述第二容器决定是否接收所述控件的拖拽源; 如果所述位置无容器,由所述第一容器的业务逻辑层判断是否对所述拖拽进行处理,如果对所述拖拽进行处理,则生成一个新的容器,将所述控件的拖拽源发送给所述新的容器,由所述新的容器接收并显示所述控件的拖拽源。2.根据权利要求1所述的方法,其特征在于,所述方法还包括 在所述控件在所述第一容器内移动的过程中,动画显示被所述控件挤压的各个控件的移动过程,其中,每一个被挤压的控件均从原来所在的位置,沿着与被拖拽的所述控件移动的相反方向,移动至相邻的位置处。3.根据权利要求1所述的方法,其特征在于,所述方法还包括 将所述控件的拖拽源发送给所述第二容器后,所述第二容器根据所述拖拽源判断所述控件的名称是否符合预设的命名条件; 如果所述控件的名称符合预设的命名条件,则所述第二容器允许所述控件停靠,接收所述控件的拖拽源并在所述第二容器中显示所述控件的拖拽源; 如果所述控件的名称不符合预设的命名条件,则所述第二容器拒绝接收所述控件的拖拽源。4.根据权利要求1所述的方法,其特征在于,所述方法还包括 如果所述控件的属性支持容器外拖拽,则按照预设的透明度生成所述控件的虚影,在界面上显示所述虚影,且使所述虚影随所述控件的移动而移动; 当拖拽结束时,停止显示所述虚影。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括 将所述控件从所述第一容器中移除后,判断所述第一容器中是否还有其它控件,如果没有其它控件,则由所述第一容器的业务逻辑层决定是否销毁所述第一容器。6.一种控件拖拽装置,其特征在于,所述装置包括第一容器,所述第一容器包...

【专利技术属性】
技术研发人员:胡立宁
申请(专利权)人:北京新媒传信科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1