最近公司做小游戏开发,写倒计时加进度条 拖动问题private boolean isIntercept = false;
/** 按下时的位置控件相对屏幕左上角的位置X */
private int startDownX;
/** 按下时的位置控件距离屏幕左上角的位置Y */
private int startDownY;
/** 控件相对屏幕左上角移动的位置X */
private int lastMoveX;
/** 控件相对屏幕左上角移动的位置Y */
private int lastMoveY;
vsv_show.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {int action = event.getAction();switch (action) {case MotionEvent.ACTION_DOWN:startDownX = lastMoveX = (int) event.getRawX();startDownY = lastMoveY = (int) event.getRawY();break;case MotionEvent.ACTION_MOVE:int dx = (int) event.getRawX() - lastMoveX;int dy = (int) event.getRawY() - lastMoveY;int left = v.getLeft() + dx;int top = v.getTop() + dy;int right = v.getRight() + dx;int bottom = v.getBottom() + dy;if (left < 0) {left = 0;right = left + v.getWidth();}if (right > mScreenWidth) {right = mScreenWidth;left = right - v.getWidth();}if (top < 0) {top = 0;bottom = top + v.getHeight();}if (bottom > mScreenHeight) {bottom = mScreenHeight;top = bottom - v.getHeight();}v.layout(left, top, right, bottom);lastMoveX = (int) event.getRawX();lastMoveY = (int) event.getRawY();break;case MotionEvent.ACTION_UP:int lastMoveDx = Math.abs((int) event.getRawX() - startDownX);int lastMoveDy = Math.abs((int) event.getRawY() - startDownY);if (0 != lastMoveDx || 0 != lastMoveDy) {isIntercept = true;} else {isIntercept = false;}RelativeLayout.LayoutParams lpFeedback = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);lpFeedback.leftMargin = v.getLeft();lpFeedback.topMargin = v.getTop();lpFeedback.setMargins(v.getLeft(), v.getTop(), 0, 0);v.setLayoutParams(lpFeedback);break;}return isIntercept;}
});

android控件拖动,移动、解决父布局重绘时控件回到原点相关推荐

  1. android 父控件的背景_android控件拖动,移动、解决父布局重绘时控件回到原点

    /** * * @description 设置意见反馈,用以灰度发布 * @author zhongwr * @params * @update 2016年1月12日 下午5:36:07 */ pri ...

  2. winform控件大小改变是防止背景重绘导致的闪烁

    在工作中需要做一个伸缩控件,这个自定义控件继承于Panel.这个伸缩控件分为两个部分,头部是一个自定义组件,伸缩控件的背景为灰色,头部背景要求白色.伸缩控件在点击按钮时会重绘,同时他内部的控件也会重绘 ...

  3. `QStyle`自定义重绘`QSlider`控件

    简介: 根据QStyle的继承关系和重绘原理:通过实现一个继承QCommonStyle类的实现,实现自己的自定义控件QSlider控件. 文章目录 本博文的简述or解决问题? 系列博文: 运行效果: ...

  4. c#-winform重绘Tabcontrol控件,标签带Logo图标

    模仿网页浏览器标签重绘Tabcontrol控件,每个标签页左上角的Logo图标可以自定义,当然图标也可以挪到右边,直接上图.

  5. 重绘MenuStrip 控件

    重绘MenuStrip控件 效果如图: 首先添加 CustomProfessionalRenderer类 用于重绘控件菜单样式 /// <summary>/// 自定义MenuStrip ...

  6. Android让VideoView填充满屏幕/父布局并保证不变形

    在Android中简单的播放一下视频选用VideoView是一个不错的选择,各个厂商在出厂的时候一般都会测试视频播放,这个兼容性一般都能得到保证,而且使用VideoView播放会自动的纠正视频角度,但 ...

  7. QStyle自定义重绘QRubberBand控件

    简介: 根据QStyle的继承关系和重绘原理:通过实现一个继承QCommonStyle类的实现,实现自己的自定义控件QRubberBand控件. 文章目录 本博文的简述or解决问题? 运行效果: QR ...

  8. android 瀑布流 空白,Android瀑布流优化,解决Recyclerview展示大批量图片时Item自动切换、闪烁、空白等问题...

    本文涉及的代码案例可以在下方的链接中找到,如果对你有帮助,请给个Star(#^.^#) 问题分析 这段时间业务需求用到RecyclerView瀑布流加载并展示大批量图片,但一开始单纯使用Recycle ...

  9. android自定义view流布局,Android控件进阶-自定义流式布局和热门标签控件

    一.概述: 在日常的app使用中,我们会在android 的app中看见 热门标签等自动换行的流式布局,今天,我们就来看看如何 自定义一个类似热门标签那样的流式布局吧 类似的自定义换行流式布局控件.下 ...

最新文章

  1. 用二项逻辑斯蒂回归解决二分类问题
  2. java设计模式(六)--观察者模式
  3. Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
  4. Fields of Mathematics
  5. Linux系统下授权MySQL账户访问指定数据库和数据库操作
  6. 2014广东高考分数线
  7. 你们和父亲关系怎么样?
  8. 含重根的三阶实对称矩阵的快速对角化方法
  9. 基于角色得后台权限管理系统设计(一、表设计)
  10. Rust编程语言入门教程(二)-核心概念(所有权(Ownership) 和生命周期)、变量声明(遍历数组)
  11. 使用Xbox360手柄控制你的turtlebot/rbx1/mrobot小车机器人
  12. 欧奈尔RPS曲线的编制方法及常见问题解答
  13. QQ等级:QQ在线等级说明
  14. Shader内置函数(方便自己看)
  15. uni-app的video禁止快进及seek()上的小坑
  16. 最全的monkey测试过程及分析
  17. Git操作流程(非常详细)
  18. Postman批量运行
  19. Windows命令行查看文件的MD5
  20. Unlawfully wed 小小新娘 | 经济学人中英双语对照精读笔记

热门文章

  1. SpringBatch 配置并行启动Job详解 (八)
  2. Hadoop集群添加新节点正确操作步骤
  3. deepin关闭ACPI
  4. docker安装mysql及相关配置、运行细节和常见报错解决方案
  5. python3导入特定的成员
  6. synchronized的可重入怎么实现的
  7. AngularJS基于MVC的复杂操作案例
  8. SpringBoot项目下resources文件夹下的静态资源浏览器无法访问
  9. IDEA springboot项目中properties配置文件 {针对将对应GBK改为UTF-8并勾选转为ASCII后仍无效情况} 运行时中文乱码解决
  10. dll文件用什么语言编写_零基础学习markdown标记语言语法,十分简单便捷编写markdown文件...