flex day 5 air的drag和drop

阅读更多

air里面的drag和drop和web里面的应用不太相同。看了一下,其实相当于去读取剪切板。

首先,需要创建一个clipborad的对象,通过剪切板传输数据和对象,包含了几个标准的格式,

  • BITMAP_FORMAT:一个 BitmapData 对象(仅限 AIR)
  • FILE_LIST_FORMAT:File 对象的数组(仅限 AIR)
  • HTML_FORMAT:HTML 格式的字符串数据
  • TEXT_FORMAT:字符串数据
  • RICH_TEXT_FORMAT:包含 RTF 格式数据的 ByteArray
  • URL_FORMAT:URL 字符串(仅限 AIR)
  • 主要使用的方法涉及到了getData(),setData(),hasFormat,分别对应获取,设置,检查clipboard对象信息。

    
    
    	
    		
    	
    	
    		
    	
    	
    		
    	
    	
    		
    	
    	
    		
    	
    	
    		
    	
    	
    		
    			
    				Drag an image here]]>
    			
    			
    			
    		
    	
    	
    
    
     

    先看了例子。这里还用到了几个事件,分别是nativeDragEnter,nativeDragOver,nativeDragDrop,nativeDragExit

    主要是对air程序监听到了拖放信息的时候触发,当处于不同事件的时候做不同的事情。

    尝试了用Math.Radom(),去设置background的背景色。

    clipboard最终是一个Object File对象。

    这里还用到了String的split()方法,去获取文件的后缀名。把txt文件内容放到TextArea里面。

    所以拖拽的本质还是在操作  系统的剪切板,只是换了交互方式

你可能感兴趣的:(flex,air)