关于DragEvent Google Android API中是这么说的

Represents an event that is sent out by the system at various times during a drag and drop operation. It is a complex data structure that contains several important pieces of data about the operation and the underlying data.

大致意思:DragEvent是在执行拖放操作时系统在不同时间所发出的一个事件。它是一个复杂的数据结构,其中包含了一系列重要的有关这个拖放操作的数据和底层的数据。

中事件类型:ACTION_DRAG_ENDED、ACTION_DRAG_ENTERED、ACTION_DRAG_EXITED、ACTION_DRAG_LOCATION、ACTION_DRAG_STARTED、ACTION_DROP

下面,将详细介绍这几种事件:

ACTION_DRAG_STARTED

当拖放操作开始时,View收到的事件。

ACTION_DRAG_ENDED

当一个View在拖放操作中发生了形变(View发生了变化),应该在响应这个事件时变回原来的View(normal状态时的View)。

一般View收到ACTION_DRAG_STARTED的事件后,都会在整个DragEvent事件结束时收到ACTION_DRAG_ENDED事件,除非,在拖放事件结束时,次View不可见。

ACTION_DRAG_ENTERED

当Drag操作进入View的边界时,就会发出此事件。

如果一个View接收Drag操作,它就会在当它(这个View)成为Drag的目标时,改变样子(View发生了变化),以此来响应ACTION_DRAG_ENTERED事件。

当Drag操作离开View后,再次进入VIew时,会先收到 ACTION_DRAG_ENTERED 的事件,之后才收到ACTION_DRAG_LOCATION事件。

ACTION_DRAG_EXITED

当拖放操作离开View的边界框时的,View收到的事件。View可以通过改变样子的方式来告诉用户,它不在是Drag操作的目标了。

ACTION_DRAG_LOCATION

当ACTION_DRAG_ENTERED之后,拖影仍在View的边界内,就发出这个信号。getX()和getY()函数可以获得,Drag操作在View内的坐标。

View接收到ACTION_DRAG_ENTERED事件始终在接受到 ACTION_DRAG_LOCATION事件之前。

ACTION_DROP

用户释放拖放前,拖放点在View内部,就会发送ACTION_DROP事件。View可以通过调用getClipData()来检索DragEvent中的数据

Android学习之DragEvent的更多相关文章

  1. Android学习路线总结,绝对干货

    title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ...

  2. Android 学习资源

    下面这些资源对Android开发来说是很有帮助的! 最常用的: Android开发官方网站:http://developer.android.com/index.html 这个网站应该是Android ...

  3. Android学习资料收集

    1.Android 学习之路 http://stormzhang.com/android/2014/07/07/learn-android-from-rookie/

  4. Android学习——第一个NDK程序

    在前面的学习中,我们已经讲解了关于NDK编程的环境搭建流程,简单的使用我们也通过官网本身自带的例子进行说明了.可是相信大家一定还存在这么的一个疑惑:“如果我要自己利用NDK编写一个Android应用, ...

  5. Android学习——windows下搭建Cygwin环境

    在上一篇博文<Android学习——windows下搭建NDK_r9环境>中,我们详细的讲解了在windows下进行Android NDK开发环境的配置,我们也讲到了在NDk r7以后,我 ...

  6. Android学习——windows下搭建NDK_r9环境

    1. NDK(Native Development Kit) 1.1 NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP功能开发的工具,通过这个 ...

  7. Android学习第三天-打包常用命令

    在前面<Android学习第一天-adb常用命令>和 <Android学习第二天-android常用命令>两篇博文中,我们重点讲解了adb和android的常用命令,下面我们讲 ...

  8. 【Android学习】《Android开发视频教程》第一季笔记

    视频地址: http://study.163.com/course/courseMain.htm?courseId=207001 课时5    Activity基础概念 1.Android开发技术结构 ...

  9. Android 学习资料收集

    收集整理这份资料灵感来自于 trip_to_iOS, 征得同意引用了该资料的开头描述 收集整理这份资料主要帮助初学者学习 Android 开发, 希望能快速帮助到他们快速入门, 找到适合自己学习资料, ...

随机推荐

  1. liunx使用技巧

    1.挂载与卸载U盘 新建一个目录:mkdir /mnt/usb; Fdisk –l |less  查看添加之后的设备名,设备文件系统格式 加载U盘设备: mount –t vfat /mnt/usb ...

  2. MySQL 表分区A

    在MySQL中表的分区类型总的来说有四种: 第一种:range分区.基于一个给定的区间范围,把数据分配到不同的分区. 第二种:list   分区.基本枚举的值列表进行分区. 第三种:hast 分区.基 ...

  3. SMT实用工艺

    第一章 SMT概述 SMT(表面组装技术)是新一代电子组装技术.经过20世纪80年代和90年代的迅速发展,已进入成熟期.SMT已经成为一个涉及面广,内容丰富,跨多学科的综合性高新技术.最新几年,SMT ...

  4. Android使用XML全攻略(2)

    Android使用XML全攻略(2)   Android 是针对移动设备的一种新兴的开源操作系统和 SDK.借助它,您可以创建功能强大的移动应用程序.当您的应用程序可以访问 Web 服务时,其吸引力会 ...

  5. [ACM] POJ 2253 Frogger (最短路径变形,每条通路中的最长边的最小值)

    Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 24879   Accepted: 8076 Descript ...

  6. https://github.com/coolnameismy/BabyBluetooth github上的一个ios 蓝牙4.0的库并带文档和教程

    The easiest way to use Bluetooth (BLE )in ios,even bady can use. 简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和 ...

  7. Swift中类的初始化器与继承

    初始化是类,结构体和枚举类型实例化的准备阶段.这个阶段设置这个实例存储的属性的初始化数值和做一些使用实例之前的准备以及必须要做的其他一些设置工作. 通过定义构造器(initializers)实现这个实 ...

  8. Android 动画animation 深入分析

    转载请注明出处:http://blog.csdn.net/farmer_cc/article/details/18259117 Android 动画animation 深入分析 前言:本文试图通过分析 ...

  9. js中if的简写方法

    http://transitions1020.com/# 太帅! <script type="text/javascript"> 如果你想写 if (!false) { ...

  10. 多个viewpager可能产生的问题

    由于Fragment的方便性,现在很多人开始大量使用Fragment. 今天使用时遇到各问题,记录下来并分享下. 使用Fragment都会用FragmentActivity ,特别是在用到ViewPa ...