位置: 编程技术 - 正文

Android的拖放技术(android拖拽)

编辑:rootadmin

推荐整理分享Android的拖放技术(android拖拽),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android拖拽控件实现,android可拖拽layout,拖放api,android拖拽控件实现,安卓拖动布局,android可拖动悬浮窗实现,android拖拽,android拖拽,内容如对您有帮助,希望把文章链接给更多的朋友!

在Android 3.0 以前的版本,拖放一个试图需要使用触摸(Touch)事件,而且拖动到指定的区域还需要判断坐标是否落到这一区域,很麻烦。从Android 3.0以后,Android SDK直接支持视图的拖放操作。 拖放操作需要经历的4种状态。

开始拖动 通过调用View.startDrag方法,可以让视图处于可拖动的状态,这时用户可以用手指(虚拟机当然是鼠标啦)将视图在屏幕上拖动。在视图开始拖动的时候,还会使用一种拖动阴影(Drag Shadow) 技术(View.DragShadowBuilder对象),以便使拖动的图像与原图形不同。 OnDragListener.onDrag 就是处理拖动操作的方法。方法原型: public boolean onDrag(View view,DragEvent event); 其中view参数表示当前拖动的视图,event表示拖动过程中的各种信息,其中DragEvent.getAction方法最重要,该方法可以获取具体的拖动状态,如果处于拖动状态,则返回DragEvent.ACTION_DRAG_STARTED。 onDrag方法必须返回true ,如果false,表示当前视图不能拖动。

拖动进行时 这个状态是动态的,当视图进入目标区域,目标区域的onDrag方法就会被调用,这时DragEvent.getAction方法会返回DragEvent.ACTION_DRAG_ENTERED。

放下视图 一旦视图在目标区域放下,这时DragEvent.getAction方法会返回DragEvent.ACTION_DROP,表示视图已经放在了目标区域的某个位置,然后就需要在onDrag方法中做进一步的处理。

结束拖放 当视图放下后(用户松开了手指,拖动阴影消失),不管视图放在了目标区域外,还是目标区域内,系统都会向所有可以监听拖放动作的视图发送DragEvent.ACTION_DRAG_ENDED动作。如果处于目标区域内,发送ACTION_DRAG_ENDED之前,系统会单独向该目标区域内发送ACTION_DROP动作。也就是说只要用户松开正在拖动的视图,DragEvent.getAction方法就一定会返回DragEvent.ACTION_DRAG_ENDED.因此,目标区域接收到DragEvent.ACTION_DRAG_ENDED时不一定是视图放到了目标区域,很可能在目标区域外,所以处理放下动作时要使用DragEvent.ACTON_DROP ,而不要使用DragEvent.ACTION_DRAG_ENDED。

Android的拖放技术(android拖拽)

拖动阴影 拖动阴影直接使用View.DragShadowBuilder 类 也可以继承View.DragShadowBuilder 类,实现自定义的拖动阴影类。直接使用则拖动的样式与原图像完全一样,只是左上角偏移了一点。如果要自定义阴影类,一般只需要实现View.DragShadowBuilder类的俩个方法:onProvideShadowMetrics和onDragShow。前者用于生成拖动阴影图像(Bitmap对象),后者用于在画布(Canvas)上画出拖动的阴影图像.

不多说了,还是上代码吧。

布局文件

运行程序,长按图像到红色区域,放下就会绘制到放下的位置。

工具类(2)文件操作工具类 这些工具类是由开源项目中获取得到publicclassFileUtils{/***写文本文件在Android系统中,文件保存在/data/data/PACKAGE_NAME/files目录下**@paramcontext*@parammsg*/publicstat

Linux Mint配置android环境(java+eclipse+adt+android_sdk) 今天在Linuxmint上配置android,弄了好长时间才弄好,写下安装记录,也方便以后查看。哈哈!大家如果使用Linux应该知道,linux自带了OpenJDK的java,但是功

工具类(3)HTML相关的正则表达式工具类 该工具类由开源项目中获得publicclassHtmlRegexpUtils{privatefinalstaticStringregxpForHtml=([^]*);//过滤所有以开头以结尾的标签privatefinalstaticStringregxpForImgTag=\s*img\s([^

标签: android拖拽

本文链接地址:https://www.jiuchutong.com/biancheng/384292.html 转载请保留说明!

上一篇:[个人笔记]listView属性、背景和适配器(listview)

下一篇:工具类(2)文件操作工具类(工具类的作用)

  • 弥补亏损的应纳税额 例子
  • 销售佣金 个税
  • 主营业务利润和利润总额
  • 增值税17-16-13的时间
  • 怎么在网上申请电话卡
  • 交易性金融资产和其他权益工具投资的区别
  • 企业生产过程中执行标准要把握好以下原则
  • 企业向个人借款的会计分录
  • 公司一上来要签三年
  • 实收资本未认缴资本还用填写吗
  • 基本电费等于
  • 水利印花税计算公式
  • 认缴制下实收资本如何缴纳印花税
  • 工资未发放是否可以仲裁
  • 公司增值税发票有限额吗
  • 国税和地税归哪里管
  • 无法读取金税盘时间版本怎么解决
  • 房开企业增值税确认收入时间
  • 一般纳税人专业分包税率
  • 一般纳税人技术开发税率
  • 行政单位需要缴税吗
  • 增值税税率调整时间16变13
  • 其他应付款在贷方,借方是什么科目
  • 低值易耗品属于资产类
  • 哪些发票公司可以抵扣
  • 小规模纳税人如何交增值税
  • 收到出口退税计入什么
  • 条形码费用属于哪个科目
  • 苹果中国区副总裁
  • cmos电池耗尽
  • Win10 20H2 KB5001391补丁包更新内容汇总
  • mac的分辨率怎么调
  • 欠款利息收入如何入账
  • Win10 20H1/20H2 KB5001391补丁今日发布(内附下载)
  • PHP:Memcached::append()的用法_Memcached类
  • 年应税销售额包含哪些
  • elementui ts
  • 接受专利投资会亏本吗
  • php实现图片上传显示
  • 购置固定资产用什么凭证
  • canvas软件教程
  • uni-app是干嘛的
  • mybatis isnotempty标签
  • react组件调用方法
  • 遍历enumeration
  • php array_merge_recursive 数组合并
  • 织梦怎么改网站主页
  • 企业应纳税所得额的计算应遵循权责发生制原则
  • 开发支出在资产负债表填哪一栏
  • 土地增值税扣除项目税金包括哪些
  • 个体户开电子发票怎么申请
  • 食堂维修费用计入什么科目
  • 红冲去年暂估的费用怎么做账
  • 公司债券分为
  • 印花税缴纳时间点
  • 企业收到的财政性补贴要交企业所得税吗
  • 餐饮店原材料表格
  • 商业承兑汇票和银行承兑汇票的区别
  • 公司增资有什么作用
  • 无法安装mysql数据库
  • fcitx输入法配置
  • 用心一也的一是什么词类活用
  • 安装win7需要激活吗
  • NkbMonitor.exe - NkbMonitor是什么进程文件 有什么作用
  • win7系统安全软件
  • d命令怎么用
  • win10系统打开文件夹就不停的闪
  • linux配置ssh服务器 用户名
  • 常见错误类型
  • jquery添加css样式
  • Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
  • win7支持快速启动吗
  • 文章标题作用答题模板
  • php删除代码
  • python中字典的方法有哪些
  • unity3d物理现象模拟
  • jquery中的动画方法有哪些
  • android 启动service
  • python flask框架 web服务器
  • 开票风险预警机制黄色预警严重吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设