HoneyComb3.0技术系列之Drag And Drop(一)

1. 概述:

 

    HoneyComb3.0支持View的拖放操作,可以将一个View从某一个位置拖放到另一个位置,在拖放过程中必须有两个或两个以上的View参与,一

 

    个是被拖的View,另一个或多个是接收被拖View的View。

 

2. 效果图:

 

   (1)屏幕中存在两个View(一个红色区域(被拖View),一个绿色区域(接收被拖View的View)),如下图:

拖与放

   (2)长按红色区域(被拖View)开始拖动,在开始拖动某一个View时屏幕中所有View的DragEvent.ACTION_DRAG_STARTED事件被触发,

 

           如下图:

拖与放

   (3)拖动红色区域(被拖View)进入绿色区域(接收被拖View的View),进入绿色区域后会触发绿色View的

 

           DragEvent.ACTION_DRAG_ENTERED,DragEvent.ACTION_DRAG_LOCATION等事件,如下图。

拖与放

   (4)将红色区域拖到绿色区域后松开鼠标(Drop操作),这时会触发绿色View的DragEvent.ACTION_DROP,

 

           DragEvent.ACTION_DRAG_ENDED等事件,红绿区域交换位置,如下图:

拖与放

3. 代码实现:

 

    (1)自定义第一个View,即:被拖View,命名:AreaOne.java,代码:

 

    (2)自定义第二个View,即:接受被拖View的View,实现onDragEvent()方法,命名:AreaTwo.java,代码:

 

    (3)主布局(main.xml)实现:

 

    (4)主Activity实现: 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值