android 拖动 点击事件,Android事件详解——拖放事件DragEvent
1、Android拖放框架的作用?
利用Android的拖放框架,可以让用户用拖放手势把一个View中的数据移到当前layout内的另一个View中去。
2、拖放框架的内容?
1)拖放事件类
2)拖放监听器
3)其他辅助的方法和类
3、拖放过程?
拖放过程有四个基本步骤:
1)启动 为了响应用户开始拖动的手势,需要调用View的startDrag方法来通知系统。startDrag方法的参数需要指定所拖动的数据、元数据和绘制拖动阴影的回调方法。
作为响应,系统首先通过回调来获取拖动阴影,然后在设备上显示这个阴影。
4、例子
长按某个View,进行拖动操作。
1)创建用于移动数据的ClipData和ClipData.Item。在ClipData对象中,需要给出存放元数据的ClipDescription对象。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private static final String IMAGEVIEW_TAG ="icon bitmap"
ImageView imageView =new ImageView(this);
imageView.setImageBitmap(mIconBitmap);
imageView.setTag(IMAGEVIEW_TAG);
...
imageView.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View v) {
ClipData.Item item =new ClipData.Item(v.getTag());
ClipData dragData =new ClipData(v.getTag(),ClipData.MIMETYPE_TEXT_PLAIN,item);
View.DragShadowBuilder myShadow =new MyDragShadowBuilder(imageView);
v.startDrag(dragData,// the data to be dragged
myShadow,// the drag shadow builder
null,// no need to use local data
0 // flags (not currently used, set to 0)
);
}
});
2)定义MyDragShadowBuilder
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
private static class MyDragShadowBuilderextends View.DragShadowBuilder {
private static Drawable shadow;
public MyDragShadowBuilder(View v) {
super(v);
shadow =new ColorDrawable(Color.LTGRAY);
}
@Override
public void onProvideShadowMetrics (Point size, Point touch) {
private int width, height;
width = getView().getWidth() /2;
height = getView().getHeight() /2;
shadow.setBounds(0,0, width, height);
size.set(width, height);
touch.set(width /2, height /2);
}
@Override
public void onDrawShadow(Canvas canvas) {
shadow.draw(canvas);
}
}
JAVASCRIPT事件详解-------原生事件基础....
javaScirpt事件详解-原生事件基础(一) 事件 JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间,通过监听特定事件的发生,你能 ...
javaScirpt事件详解-原生事件基础(一)
事件 JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间,通过监听特定事件的发生,你能响应相关的操作.图片引用:UI Events 事件流 ...
JavaScript事件详解-Zepto的事件实现(二)【新增fastclick阅读笔记】
正文 作者打字速度实在不咋地,源码部分就用图片代替了,都是截图,本文讲解的Zepto版本是1.2.0,在该版本中的event模块与1.1.6基本一致.此文的fastclick理解上在看过博客园各个大神 ...
JavaScript事件详解-zepto的事件实现
zepto的event 可以结合上一篇JavaScript事件详解-原生事件基础(一)综合考虑源码暂且不表,github里还有中文网站都能下到最新版的zepto.整个event模块不长,274行,我们 ...
DOM——事件详解
事件 事件:触发-响应机制 事件三要素 事件源:触发(被)事件的元素 事件名称: click 点击事件 事件处理程序:事件触发后要执行的代码(函数形式) 事件的基本使用 var box = docu ...
Android 广播大全 Intent Action 事件详解
Android 广播大全 Intent Action 事件详解 投稿:mrr 字体:[增加 减小] 类型:转载 时间:2015-10-20我要评论 这篇文章主要给大家介绍Android 广播大全 In ...
H5 拖放事件详解
拖放事件 H5的拖放事件提供了多个接口: 1.drag:当元素或者选中的文本被拖动时触发(每几百毫秒触发一次),应用在被拖拽元素上 2.dragend:当拖动操作结束时触发(通过释放鼠标按钮或者点击转 ...
JavaScript事件详解-jQuery的事件实现(三)
正文 本文所涉及到的jQuery版本是3.1.1,可以在压缩包中找到event模块.该篇算是阅读笔记,jQuery代码太长.... Dean Edward的addEvent.js 相对于zepto的e ...
第三天:JS事件详解-事件流
学习来源: F:\新建文件夹 (2)\HTML5开发\HTML5开发\04.JavaScript基础\6.JavaScript事件详解 学习内容: 1)基础概念 2)举例说明: 代码如上,如果用事件 ...
随机推荐
HighchartsJS创建环形带标识的图表实例
HighchartsJS 是一款功能强大.开源.美观.图表丰富.兼容绝大多数浏览器的纯js图表库,目前最新版本库是Highcharts 4.1.9.另外,HighchartsJS还提供很多的插件和第三 ...
MySQL常用SQL语句
一.数据库操作 1.创建数据库: Mysql> CREATE DATABASE databaseName; Mysql数据库的数据文件默认存放在/usr/local/mysql/var/目录下, ...
Python开发者须知 —— Bottle框架常见的几个坑
Bottle是一个小巧实用的python框架,整个框架只有一个几十K的文件,但却包含了路径映射.模板.简单的数据库访问等web框架组件,而且语法简单,部署方便,很受python开发者的青睐.Pytho ...
MVC的异步,Entity Framework的异步,ADO.NET的异步,
MVC的异步化改造 无比轻松,只要把ActionResult改为async Task: public async Task
正则应用—queryURLParameter()
在项目中,我们做详情页的时候,需要获取到用户从哪里来点击进来,获取到用户的点击地址,根据不同的地址传进的参数向服务器获取不同的数据,然后加载不同的详情页面. 大部分企业都采用字符串截取的方式,quer ...
c++中构造函数 、析构函数的作用域详解
我们知道,在c++中,析构函数是在函数作用域尾部执行析构函数,从而释放对象,但是有一种情况下,析构函数作用域发生变化,请看下面的例子,定义了一个Stock类,Stock类存放在stock.h中,主调用 ...
cin\cout输入输出控制
输入输出流的控制符 控制符 作 用 dec 设置数值的基数为10 hex 设置数值的基数为16 oct 设置数值的基数为8 setfill(c) 设置填充字符c,c可以是字符常量或字符变量 setpr ...
Freeline--Android平台上的秒级编译方案
Freeline 技术揭秘 Freeline是什么? Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队15年10月在Android平台上的量身定做的一个基于动态替换的编译方案,5月阿里集团内部 ...
Generative Adversarial Nets[Vanilla]
引言中已经较为详细的介绍了GAN的理论基础和模型本身的原理.这里主要是研读Goodfellow的第一篇GAN论文. 0. 对抗网络 如引言中所述,对抗网络其实就是一个零和游戏中的2人最小最大游戏,主要 ...
Scanner 随机数
import java.util.Scanner; import java.util.Scanner; Sc ...
android 拖动 点击事件,Android事件详解——拖放事件DragEvent相关推荐
- Android 系统(199)---Android事件分发机制详解
Android事件分发机制详解 前言 Android事件分发机制是Android开发者必须了解的基础 网上有大量关于Android事件分发机制的文章,但存在一些问题:内容不全.思路不清晰.无源码分析. ...
- View的事件体系之三 android事件分发机制详解(下)
接着上一篇来分析事件分发机制,在看了各位大牛的关于事件分发机制的分析后茅塞顿开,之前看过好几遍郭霖,弘扬以及玉刚大神关于事件体系的讲解,一直看不懂,比较模糊,最近复习时,看到一篇博文,写的相当精彩,看 ...
- android listview ontouchlistener,Android ListView监听滑动事件的方法(详解)
ListView的主要有两种滑动事件监听方法,OnTouchListener和OnScrollListener 1.OnTouchListener OnTouchListener方法来自View中的监 ...
- android应用市场点击下载APK安装详解
Android系统启动篇 1,<android系统启动流程简介> 2,<android init进程启动流程> 3,<android zygote进程启动流程> 4 ...
- android仿知乎按钮动效,Android仿知乎客户端关注和取消关注的按钮点击特效实现思路详解...
先说明一下,项目代码已上传至github,不想看长篇大论的也可以先去下代码,对照代码,哪里不懂点哪里. 代码在这https://github.com/zgzczzw/ZHFollowButton 前几 ...
- android自定义view案例,Android自定义View的实现方法实例详解
一.自绘控件 下面我们准备来自定义一个计数器View,这个View可以响应用户的点击事件,并自动记录一共点击了多少次.新建一个CounterView继承自View,代码如下所示: 可以看到,首先我们在 ...
- android 模拟手指点击,『Android Tip』-- 模拟手势操作
平时 Android 开发中总会遇到奇葩的功能或者需求,这里做个记录和积累,以便后面开发过程中遇到类似的问题,可以快速的解决.Android tips 前言 这个版本终于快结束了,历时一个月的时间,这 ...
- 安卓自定义View进阶-事件分发机制详解
原文地址:http://www.gcssloop.com/customview/dispatch-touchevent-source Android 事件分发机制详解,在上一篇文章 事件分发机制原理 ...
- Android 融云IM集成以及使用详解(二)
Android 融云IM集成以及使用详解(二) 上篇讲解了集成和好友列表和消息记录的使用,这篇将讲解聊天界面和群聊界面的使用 先附上一张效果图 先介绍布局文件 <LinearLayout xml ...
最新文章
- Git设置忽略文件/文件夹
- mysql 主从同步 工具_mysql主从同步工具maatkit安装
- javaone_旅行报告:JavaOne 2013 –重归荣耀
- eclipse32位python版下载_python之(3)Python Eclipse+PyDec下载和安装教程(超级详细)...
- java maven本地库导入本地包
- 家里还装摄像头?看完B站直播毛骨悚然!
- Unity3D 中的定制特性以及简单的编辑器扩展案例(1)
- 云计算系统典型物理架构
- 行测题中逻辑判断题的规律
- 带你一起学习工程经济学!与生活相关的一些实用的公式。研究经济学的理由就是【为了避免被经济学家欺骗】
- matlab怎么设置步长,请教matlab中怎么对变步长的数据进行处理
- 轩辕剑--资料集(三)
- 2013年12月CCF软考试题
- JS盒子点击时跟随鼠标移动
- 跨平台音视频jQuery插件:jPlayer
- 【服务器管理】搭建FTP
- mysql替换成对括号
- 使用CentOS7.4搭建bgp网络实验Quagga
- 计算机地图制图的过程,第四章计算机地图制图过程.ppt
- C#线程安全集合类说明(2): ConcurrentBag<T>
热门文章
- 2022年1月医疗机器人1月份盘点与分析
- html图片怎么设置热区不大小,店铺装修技巧之图片尺寸大全!收藏必备!随时可查看!...
- Latex安装和示例
- eclipse中的中文乱码
- C++ SeqList 顺序表 类模板的实现与测试
- PHP 根据身份证号识别 - 星座,生肖,性别
- 我打开的etc内是一个imhosts.sam,而不是hosts.txt,没有找到hosts文件,怎么办?
- P-MOS和N-MOS的作用(供非专业人士参考)(已解决)
- 怎么在网上赚钱?这几个副业也许会适合你
- python中复制n次字符串_Python 字符串操作方法大全