AIRでのドラッグ&ドロップ


今日はドラドロ!



画像をPanel上にドロップして表示するだけのアプリです。


ダウンロード

ソース


ドラッグ&ドロップをするための手順!
まずはイベントリスナーの登録

//Panelにドラッグオブジェクトが侵入したときのイベントリスナーを登録します
myPanel.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, doDragEnter);
			
//Panelでドロップされたときのイベントリスナーを登録します
myPanel.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, doDrop);


次はPanelにドラッグオブジェクトが侵入したときの処理

//NATIVE_DRAG_ENTERイベント時の処理
private function doDragEnter(dragEvent:NativeDragEvent):void{
	NativeDragManager.acceptDragDrop(myPanel);  //Panelがドロップ動作を受け入れられるようにする。
}


最後にドロップされたときの処理

//NATIVE_DRAG_DROP時の処理
private function doDrop(droppedEventObj:NativeDragEvent):void{
     //今回作ったアプリではデータ形式が"air:file list"
          //形式が知りたい場合は
          //trace(droppedEventObj.clipboard.formats);
          //でドロップされたもののデータ形式がわかります。
	var droppedFiles:Array = droppedEventObj.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
	for each(var file:File in droppedFiles){
		//fileの処理
	}
}


こんな感じになります。
ここでドロップされてくるファイルの形式ですが、エクスプローラなどから外部ファイルがドラッグされてくる場合はデータ形式が"air:file list"となるみたい。他にも色々な形式が存在します。