当前位置:首页>编程日记>正文

Android拖拽图片的实现

     拖拽图片效果的实现其实也很简单,只要对需要拖拽的图片设置一个TouchListener即可,在Listener的方法里边对图片的位置进行计算更改就可以达到效果了。具体实现如下:

1.Activity

 

  1. import android.app.Activity; 
  2. import android.os.Bundle; 
  3. import android.view.MotionEvent; 
  4. import android.view.View; 
  5. import android.view.View.OnTouchListener; 
  6. import android.widget.ImageView; 
  7.  
  8. public class DragPicActivity extends Activity { 
  9.  
  10.     private ImageView p_w_picpathView; 
  11.     @Override 
  12.     protected void onCreate(Bundle savedInstanceState) { 
  13.         super.onCreate(savedInstanceState); 
  14.         setContentView(R.layout.drag); 
  15.         p_w_picpathView = (ImageView) findViewById(R.id.drag_pic); 
  16.          
  17.         p_w_picpathView.setOnTouchListener(new OnTouchListener() { 
  18.              
  19.             private float x, y; 
  20.             private int mx, my; 
  21.             @Override 
  22.             public boolean onTouch(View v, MotionEvent event) { 
  23.                 switch (event.getAction()) { 
  24.                 case MotionEvent.ACTION_DOWN: 
  25.                     x = event.getX(); 
  26.                     y = event.getY(); 
  27.                 case MotionEvent.ACTION_MOVE: 
  28.                     mx = (int) (event.getRawX() - x); 
  29.                     //减去的50是title和status bar的高度 
  30.                     my = (int) (event.getRawY() - y - 50); 
  31.                     v.layout(mx, my, mx + v.getWidth(), my + v.getHeight()); 
  32.                     break
  33.                 } 
  34.                  
  35.                 return true
  36.             } 
  37.         }); 
  38.     } 
  39.      

2.layout

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:layout_width="fill_parent" 
  4.     android:layout_height="fill_parent" 
  5.     android:gravity="center" 
  6.     android:orientation="vertical" > 
  7.  
  8.     <ImageView 
  9.         android:id="@+id/drag_pic" 
  10.         android:layout_width="50dip" 
  11.         android:layout_height="50dip" 
  12.         android:src="@drawable/ic_launcher" /> 
  13.  
  14. </LinearLayout> 

这样拖拽图片的效果就出来了,同样的拖拽其他控件应该也是一样的做法,没测试,但拖拽图片其实就是拖拽ImageView嘛,so easy是吧!

记录学习的点点滴滴,让知识掌握得更牢固。也为回忆,嘿嘿~~Come on,Iceshow!


http://www.coolblog.cn/news/7fc9d9a7e3e7dbfe.html

相关文章:

  • asp多表查询并显示_SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询
  • s7day2学习记录
  • 【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。
  • 矿Spring入门Demo
  • 拼音怎么写_老师:不会写的字用圈代替,看到孩子试卷,网友:人才
  • Linux 实时流量监测(iptraf中文图解)
  • Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
  • 美颜
  • shell访问php文件夹,Shell获取某目录下所有文件夹的名称
  • 如何优雅的实现 Spring Boot 接口参数加密解密?
  • LeCun亲授的深度学习入门课:从飞行器的发明到卷积神经网络
  • Mac原生Terminal快速登录ssh
  • java受保护的数据与_Javascript类定义语法,私有成员、受保护成员、静态成员等介绍...
  • mysql commit 机制_1024MySQL事物提交机制
  • 支撑微博千亿调用的轻量级RPC框架:Motan
  • jquery 使用小技巧
  • 2019-9
  • 法拉利虚拟学院2010 服务器,法拉利虚拟学院2010
  • vscode pylint 错误_将实际未错误的py库添加到pylint白名单
  • 科学计算工具NumPy(3):ndarray的元素处理
  • 工程师在工作电脑存 64G 不雅文件,被公司开除后索赔 41 万,结果…
  • linux批量创建用户和密码
  • newinsets用法java_Java XYPlot.setInsets方法代碼示例
  • js常用阻止冒泡事件
  • 气泡图在开源监控工具中的应用效果
  • 各类型土地利用图例_划重点!国土空间总体规划——土地利用
  • php 启动服务器监听
  • dubbo简单示例
  • 【设计模式】 模式PK:策略模式VS状态模式
  • [iptables]Redhat 7.2下使用iptables实现NAT
  • Ubuntu13.10:[3]如何开启SSH SERVER服务
  • CSS小技巧——CSS滚动条美化
  • JS实现-页面数据无限加载
  • 阿里巴巴分布式服务框架 Dubbo
  • 最新DOS大全
  • Django View(视图系统)
  • 阿里大鱼.net core 发送短信
  • 程序员入错行怎么办?
  • 两张超级大表join优化
  • 第九天函数
  • Linux软件安装-----apache安装
  • HDU 5988 最小费用流
  • Sorenson Capital:值得投资的 5 种 AI 技术
  • 《看透springmvc源码分析与实践》读书笔记一
  • 正式开课!如何学习相机模型与标定?(单目+双目+鱼眼+深度相机)
  • Arm芯片的新革命在缓缓上演
  • nagios自写插件—check_file
  • python3 错误 Max retries exceeded with url 解决方法
  • 行为模式之Template Method模式
  • 通过Spark进行ALS离线和Stream实时推荐