增加拖放功能
视觉开发环境典型地让您操作对象在应用程序中使用鼠标选择他们并在屏幕上四处移动。Flex拖放管理器让您选择一个对象,譬如List组件里的一个item(选项),或者是一个image(图片)组件,然后拖拽它到其他组件而添加到这个组件上。所有的Flex组件都支持拖放操作。Flex中的某些控件的附加功能也包括拖放操作,譬如List,Tree,和DataGrid。
拖放操作有三个主要阶段: 初始化, 扯拽, 释放。
初始化
用户创始拖放操作由使用鼠标选择一个导Flex组件或组件内的某一个选项(item),然后持续的按住鼠标移动组件或选项。例如,用户用鼠标选择List中的选项,当持续按着鼠标键,移动几个像素。被选择的组件称为drag initiator(拖拽创始者)。
拖拽
当持续按着鼠标键, 用户在Flex应用程序上移动鼠标时。Flex显示一个图象在拖拽的时候, 是drag proxy(拖拽代理器)。Drag source(拖拽来源)(DragSource 对象) 包含别拖拽的数据。
释放
当用户把drag proxy(拖拽代理器) 移动到在其它Flex组件, 那个组件成为一个可能的drop target(释放目标对象)。drop target(释放目标对象)能检查拖拽的来源的数据格式是否是目标所能接受的, 如果那样, 让用户把数据释放到组件上,如果释放目标对象的数据不是在一个可接受的格式, 释放目标对象可能禁止释放操作。
成功的释放操作, Flex添加数据到目标对象,在原始的位置删除它。
这个快速入门的提供几种方法在你的Flex的应用程序中实现拖拽操作。
这个快的开始描述实施拖放操作几个方式在您的Flex应用程序。
在List控件中使用拖放
几个Flex组件包括内置对拖放操作的支持。其中有DataGrid 、HorizontalList 、List、Menu、PrintDataGrid 、TileList, 和Tree 组件。
您可以生成drag initiators(拖拽创始者)并设置 dragEnabled属性值为 true。同样, 您能设置这些组件的释放对象的dropEnabled属性值为 true。Flex让您通过拖拽移动选项从允许拖拽的组件到允许释放的组件, 或按下Ctrl通过拖拽来复制他们。
通过拖拽操作来复制选项
以下例子让您通过拖拽从List到另一个List复制选项。您能多次从drag initiator(拖拽创始者)到drop target(释放目标对象)拖拽来复制同样选项。
例子
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
width="365" height="225"
creationComplete="creationCompleteHandler();"
>
<mx:Script>
<![CDATA[
private function creationCompleteHandler():void
{
srclist.dataProvider = ['Reading', 'Skating', 'Movies'];
destlist.dataProvider = [];
}
]]>
</mx:Script>
<mx:Panel title="Select activities" layout="horizontal">
<mx:VBox width="50%">
<mx:Label text="Available activities"/>
<!-- Drag initiator -->
<mx:List
id="srclist" width="100%" height="100"
allowMultipleSelection="true"
dragEnabled="true"
/>
</mx:VBox>
<mx:VBox width="50%">
<mx:Label text="Activities I enjoy"/>
<!-- Drop target -->
<mx:List
id="destlist" width="100%" height="100"
dropEnabled="true"
/>
</mx:VBox>
</mx:Panel>
</mx:Application>
使用拖放操作移动选项
属性dragMoveEnabled 的默认值为 false, 只让您复制选项从List控件到其他的List。如果您修改上面的例子,在来源List组件增加 dragMoveEnabled 属性并设置为true, 您能移动和复制元素, 如下所示。
默认动作是移动选项,复制选项, 持续按着鼠标在释放操作期间
<!-- Drag initiator -->
<mx:List
id="srclist" width="100%" height="100"
allowMultipleSelection="true"
dragEnabled="true"
dragMoveEnabled="true"
/>
分享到:
相关推荐
在 Flex 3 中,拖放功能(Drag & Drop)是一种常见且实用的用户交互方式,允许用户通过鼠标操作将一个对象从一处拖动到另一处,常用于文件管理、数据交换等场景。 拖放功能在 Flex 3 中主要由两个核心组件支持:`...
`.flexProperties`, `.project`, `.settings`, `libs`, `html-template`, `src` 可能包含了实现拖放功能的源代码、项目配置和资源文件,通过查看这些文件,可以更深入地学习和实践Flex拖放功能的实现。
拖放功能是Flex3中一种非常实用的功能,它可以实现用户界面元素的直观交互。通过拖放操作,用户能够选择一个对象(例如`List`控件或Flex中的`Image`控件),并将其拖动至另一个组件(容器)中,最终将该对象添加到...
在Flex3中,组件的拖放功能是一项核心特性,它允许用户轻松地通过鼠标操作将一个对象从一处拖动到另一处,从而实现数据的移动或者功能的交互。 拖放功能在Flex3中的实现主要依赖于两个主要类:`DragManager` 和 `...
在本主题中,我们将深入探讨如何在Flex4中实现图片的拖放功能,包括两种模式:拖动图片不删除原图和拖动图片后删除原图。 首先,我们需要了解Flex4中的DragManager类,它是实现拖放操作的核心。DragManager提供了...
这个实例涉及的是在Flex中的Tree组件实现节点的内部拖放功能,这对于创建交互式用户界面,尤其是数据层级结构的展示非常有用。在本文中,我们将详细探讨如何在Flex的Tree组件中实现节点的拖放操作,并且限制可拖动的...
以下是一个使用Flex的拖放功能将一个`List`控件中的条目移动到另一个`List`控件的简单示例代码: ```xml <!-- dragdrop\SimpleListToListMove.mxml --> creationComplete="initApp();"> <![CDATA[ import mx...
标题"flex 拖拽效果程序"表明我们将关注的是如何在Flex中创建一个具有拖放功能的程序。在Flex中,这种功能主要通过DragManager和UIComponent类的拖放API来实现。让我们详细了解一下实现拖放效果的过程。 1. **启用...
综上所述,Flex的拖放功能是其强大用户界面设计能力的一部分,通过理解并熟练运用Flex拖拽库,开发者能够创建出更加直观和交互性强的应用程序。在实际项目中,根据需求选择合适的方法和工具,能有效地提高应用的用户...
5. **DragManager和DropTarget**:为了实现拖放功能,我们需要利用Flex的DragManager和DropTarget类来处理拖放事件。 6. **自定义配置文件解析**:我们可以创建一个配置类,读取XML或JSON格式的配置文件,解析其中的...
总的来说,"flex中拖拉拽好实例objecthandles"是一个关于Flex拖放机制的实践案例,特别强调了ObjectHandle组件的使用,这对于开发具有高度交互性的Flex应用来说是非常有价值的。通过分析和学习这个实例,开发者能够...
在Flex3中,你可以创建具有丰富用户界面和交互功能的应用程序,而“flex3一个简单购物车拖拽的例子”是一个演示如何在Flex环境中实现拖放功能的实例。这个例子展示了如何将商品图标或项拖入数据网格(DataGrid)中,...
本次我们将关注一个名为"DragTile"的项目,它利用Flex强大的拖放功能来实现元素的动态布局。通过分析项目压缩包中的文件,我们可以深入理解Flex在拖放操作中的实现方式。 首先,`.actionScriptProperties`文件是...
### Flex事件解析以及Flex基础功能介绍 #### 一、Flex:终结B/S架构下的界面噩梦 在企业级应用开发领域,B/S架构因其易于部署、维护和强大的可扩展性,逐渐占据了主导地位。JavaEE作为B/S架构的中流砥柱,凭借其...
Flex的拖放功能允许开发者进行高度自定义,例如,通过重写默认的行为,实现更复杂的交互逻辑,或者创建自定义的拖放效果。 综上所述,Flex的拖拽编程提供了一套完整的机制,从启动拖放、控制拖动代理到处理数据...
在IT行业中,Flex是一种...总之,了解和掌握Flex的拖放功能对于开发交互性强的Flex应用至关重要。它涉及到对`DragManager`的使用,设置拖放事件监听,以及优化拖放的视觉反馈,这些都是提高用户界面交互性的重要技术。
标题"Flex_DragDrop"表明我们将讨论如何在Flex环境中实现拖放功能,特别是针对图片组件的实例。描述中提到提供了Flex中图片组件的拖放实现实例源码,并暗示后续会有更多关于表格数据等其他组件的拖放示例。 Flex是...
在Flex中实现拖放功能,我们需要利用Flex提供的DragManager和DropTarget类。DragManager负责处理整个拖放过程的逻辑,而DropTarget则定义了可以接受被拖动对象的目标区域。 首先,我们需要为树形控件设置DragSource...
Flex API 是一种软件开发接口,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA),它由Adobe公司开发,用于提供强大的图形和交互性功能。在本文中,我们将深入探讨Flex API的核心概念、主要...
标题提到的“Flex拖动购物车很Cool”,是指在Flex应用中实现购物车组件的拖放功能,这种功能可以增强用户的交互体验,使购物过程更加直观和便捷。 在Flex中,实现拖放操作主要依赖于两个主要类:`DragManager`和`...