关于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. codeforces 631D. Messenger kmp

    题目链接 首先想到kmp, 和普通的不一样的是,中间部分严格相等, 头和尾的字符相等但是数量可以不相等. 所以应该把子串的头和尾先去掉,然后对剩下的部分进行kmp. 子串长度为1或2要特别讨论. 不要 ...

  2. HTML禁止使用右键

    <html> <script type="text/javascript"> <!-- document.oncontextmenu=function ...

  3. iOS 使用xib创建cell的两种初始化方式

    曾几何时,被自己坑过,为了防止下次继续被自己坑,我决定了!在每个我能看到的地方,都把问题写一遍!!! 方法一: ? 1 2 3 4 第一步: [self.collectionView register ...

  4. 解决libc.so.6: version `GLIBC_2.14' not found问题, 升级glibc,glibc-2.15

    0.以下在系统CentOS 6.3 x86_64上操作 1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的g ...

  5. Windows Azure 现已完全受 Juju 支持

    我们很高兴地宣布,Windows Azure 现已完全受 Juju 支持,这也是我们为实现开放性和互操作性而不断努力的结果.这意味着 Ubuntu 用户现在可以使用 Juju 及其直观的图形用户界面设 ...

  6. 预处理指令中#Pragma

    在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的 ...

  7. 杭州电子科技大学Online Judge 之 “确定比赛名次(ID1285)”解题报告

    杭州电子科技大学Online Judge 之 "确定比赛名次(ID1285)"解题报告 巧若拙(欢迎转载,但请注明出处:http://blog.csdn.net/qiaoruozh ...

  8. HDU3415:Max Sum of Max-K-sub-sequence(单调队列)

    Problem Description Given a circle sequence A[1],A[2],A[3]......A[n]. Circle sequence means the left ...

  9. [转]Win7、Windows Server 2008下无法在Windows Service中打开一个已经存在的Excel 2007文件问题的解决方案

    昨天,组里一个小朋友告诉我,他写的报表生成服务中无法打开一个已经存在的Excel 2007文件,他的开发环境是Win7.Visual Studio .Net 2008(Windows Server 2 ...

  10. sql update left join 更新,字段内容分隔符提取

    UPDATE a SET [Province] = parsename(replace([FullName],'-','.'),2) from [dbo].[T_B_Emp] a left join ...