当前位置: 首页 > news >正文

Android 实现可拖动的ImageView

Android 实现可拖动的ImageView


代码实现:

public class DraggableImageView extends AppCompatImageView {private float lastTouchX;private float lastTouchY;public DraggableImageView(Context context) {super(context);init();}public DraggableImageView(Context context, AttributeSet attrs) {super(context, attrs);init();}public DraggableImageView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);init();}private void init() {setClickable(true);}@Overridepublic boolean onTouchEvent(MotionEvent event) {final int action = event.getActionMasked();switch (action) {case MotionEvent.ACTION_DOWN:lastTouchX = event.getRawX();lastTouchY = event.getRawY();break;case MotionEvent.ACTION_MOVE:float x = event.getRawX();float y = event.getRawY();x = Math.max(0,x);y = Math.max(0,y);float dx = x - lastTouchX;float dy = y - lastTouchY;//边界控制ViewGroup pa = (ViewGroup) getParent();float lx = Math.max(0,dx+getX());float ly = Math.max(0,dy+getY());lx = Math.min(lx,pa.getWidth()-getWidth());ly = Math.min(ly,pa.getHeight()-getHeight());setX(lx);setY(ly);lastTouchX = x;lastTouchY = y;break;case MotionEvent.ACTION_UP:case MotionEvent.ACTION_CANCEL:break;case MotionEvent.ACTION_POINTER_UP:lastTouchX = event.getRawX();lastTouchY = event.getRawX();break;}return true;}
}
http://www.dtcms.com/a/244503.html

相关文章:

  • linux内核编译问题记录
  • Ubuntu+k3s+karmada离线安装部署说明
  • java--认识反射
  • Wireshark 筛选功能详解:语法与示例
  • OpenAI推出o3-Pro模型
  • 开源项目实战学习之YOLO11:12.9 ultralytics-models-sam-amg.py
  • 【kafka】消息模型与工作原理详解
  • 车载软件和整车电子架构正重新定义汽车行业
  • 查看 Ubuntu 系统信息
  • MATLAB-磁偶极子的空间磁场强度仿真
  • 适合有C基础后快速上手C++
  • RAG技术全解析:从概念到实践,构建高效语义检索系统——嵌入模型与向量数据库搭建指南
  • 智能空气流向控制系统SKLX的优化与实践
  • 一款自制的OpenMV4模块
  • LRU 结构 LinkedHashMap:HashMap+双向链表的完美结合
  • 用python玩转大语言模型——从 RNN 到文本生成大语言模型的奇幻之旅
  • MMDG++:构筑多模态人脸防伪新防线,攻克伪造攻击与场景漂移挑战
  • 日期的数据格式转换
  • 爬取新浪新闻网的全部策略
  • Go 语言 JWT 深度集成指南
  • 升级 Ubuntu Linux 内核的几种不同方法
  • Squid 代理服务器实战:解决动态 IP 访问第三方接口的生产级方案
  • 软件定义对象存储购买指南
  • 数据库游标:逐行处理数据的“手术刀”——从原理到实战的深度解析
  • 链 表 类 型 全 面 总 结:单 向、双 向、循 环 链 表 的 特 性 与 选 型 指 南
  • PSCAD closed loop buck converter
  • 同步发电机原理
  • Java并发工具包
  • 图标异常问题
  • pysnmp模块中 GET、SET、WALK操作详细分步解析