Abaixo um exemplo de arrastar e soltar usando imagens.
Exemplo.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
backgroundGradientAlphas="[1.0, 1.0]"
backgroundGradientColors="[#FFFFFF, #FFFFFF]" viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.core.DragSource;
import mx.managers.DragManager;
import mx.events.DragEvent;
[Bindable]
private var quantity : int = 0;
private function initiateDrag(event:MouseEvent):void {
var dragInitiator:Image = event.currentTarget as Image;
var source:DragSource = new DragSource();
source.addData(dragInitiator,"gift");
var proxy:Image = new Image();
proxy.source = dragInitiator.source;
proxy.width = 50;
proxy.height = 50;
DragManager.doDrag(dragInitiator, source, event, proxy);
}
private function dragEnterHandler(event:DragEvent):void {
if (event.dragSource.hasFormat("gift")){
DragManager.acceptDragDrop(event.currentTarget as Image);
}
}
private function dragDropHandler(event:DragEvent):void{
quantity ++;
Alert.show("Gift added to your cart");
}
]]>
</mx:Script>
<mx:Label text="Add drag and drop support manually" color="#990000"
fontSize="20" fontWeight="bold" fontStyle="italic"/>
<mx:Canvas width="800" height="366">
<mx:Label fontSize="14"
color="#000000" width="66" x="600" y="311"
fontWeight="bold" textAlign="center"
text="{quantity.toString()}"/>
<mx:Image source="assets/gift.png" x="40" y="120"
mouseDown="initiateDrag(event)" />
<mx:Image source="@Embed('assets/cart.jpg')" x="480" y="100"
dragEnter="dragEnterHandler(event)"
dragDrop="dragDropHandler(event)" />
</mx:Canvas>
</mx:Application>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
backgroundGradientAlphas="[1.0, 1.0]"
backgroundGradientColors="[#FFFFFF, #FFFFFF]" viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.core.DragSource;
import mx.managers.DragManager;
import mx.events.DragEvent;
[Bindable]
private var quantity : int = 0;
private function initiateDrag(event:MouseEvent):void {
var dragInitiator:Image = event.currentTarget as Image;
var source:DragSource = new DragSource();
source.addData(dragInitiator,"gift");
var proxy:Image = new Image();
proxy.source = dragInitiator.source;
proxy.width = 50;
proxy.height = 50;
DragManager.doDrag(dragInitiator, source, event, proxy);
}
private function dragEnterHandler(event:DragEvent):void {
if (event.dragSource.hasFormat("gift")){
DragManager.acceptDragDrop(event.currentTarget as Image);
}
}
private function dragDropHandler(event:DragEvent):void{
quantity ++;
Alert.show("Gift added to your cart");
}
]]>
</mx:Script>
<mx:Label text="Add drag and drop support manually" color="#990000"
fontSize="20" fontWeight="bold" fontStyle="italic"/>
<mx:Canvas width="800" height="366">
<mx:Label fontSize="14"
color="#000000" width="66" x="600" y="311"
fontWeight="bold" textAlign="center"
text="{quantity.toString()}"/>
<mx:Image source="assets/gift.png" x="40" y="120"
mouseDown="initiateDrag(event)" />
<mx:Image source="@Embed('assets/cart.jpg')" x="480" y="100"
dragEnter="dragEnterHandler(event)"
dragDrop="dragDropHandler(event)" />
</mx:Canvas>
</mx:Application>
Exemplo Funcionando : http://files.riacodes.com/flex_drag-drop-gift-cart/demo/
Código Fonte : http://files.riacodes.com/flex_drag-drop-gift-cart/demo/srcview/index.html
Fonte : http://www.riacodes.com/flex/add-drag-and-drop-support-manually/
0 comentários:
Postar um comentário