View控件跟随鼠标移动
public boolean onTouch(View view, MotionEvent motionEvent) {
if(motionEvent.getAction() == MotionEvent.ACTION_DOWN){
//记录按下时的数据
sx = (int) motionEvent.getRawX();
sy = (int) motionEvent.getRawY();
origin_l = view.getLeft();
origin_r = view.getRight();
origin_b = view.getBottom();
origin_t = view.getTop();
}
else if(motionEvent.getAction() == MotionEvent.ACTION_UP){
// Log.d(TAG, "onTouch: UP");
// 得到imageView最开始的各顶点的坐标
Toast.makeText(getContext(),String.valueOf(sx)+","+String.valueOf(sy),Toast.LENGTH_SHORT).show();
view.layout(origin_l,origin_t,origin_r,origin_b);
}
else if(motionEvent.getAction() == MotionEvent.ACTION_MOVE){
int x = (int) motionEvent.getRawX();
int y = (int) motionEvent.getRawY();
// 获取手指移动的距离
int dx = x - sx;
int dy = y - sy;
// 得到imageView最开始的各顶点的坐标
int l = view.getLeft();
int r = view.getRight();
int t = view.getTop();
int b = view.getBottom();
// 更改imageView在窗体的位置
view.layout(l + dx, t + dy, r + dx, b + dy);
// 获取移动后的位置
sx = (int) motionEvent.getRawX();
sy = (int) motionEvent.getRawY();
}
return true;
}
View控件跟随鼠标移动的更多相关文章
- iOS开发UI篇—使用picker View控件完成一个简单的选餐应用
iOS开发UI篇—使用picker View控件完成一个简单的选餐应用 一.实现效果 说明:点击随机按钮,能够自动选取,下方数据自动刷新. 二.实现思路 1.picker view的有默认高度为162 ...
- Android 自定义View修炼-打造完美的自定义侧滑菜单/侧滑View控件
一.概述 在App中,经常会出现侧滑菜单,侧滑滑出View等效果,虽然说Android有很多第三方开源库,但是实际上 咱们可以自己也写一个自定义的侧滑View控件,其实不难,主要涉及到以下几个要点: ...
- WPF ItemsControl 控件支持鼠标滚轮滑动
此文章意在解决在WPF中ItemsControl类型的集合控件支持鼠标滚轮操作,并可控制滚动的速度. 第一步:给ItemsControl添加滚轮事件. this.listBox.AddHandler( ...
- Scroll View 控件以Thumbnail的方式显示一个目录的全部图片,相似图片浏览器
MAC : XCode -> Scroll View 控件以Thumbnail的方式显示一个目录的全部图片,类似图片浏览器 STEP1:将两个目录复制到project里面ImageBrowser ...
- 巧用Handler获取View控件信息
众所周知,在Android实际开发中,对于某些复杂多变的情况,控件的位置摆放.大小控制并非是xml类型的layout文件完全可以搞定的.此时,我们通常会使用Java代码来通过动态计算,将指定的控件摆放 ...
- 定制自己的动画 View 控件(Canvas 使用)
定制自己的动画 View 控件(Canvas 使用) 如果要定义自己的 View 控件,则需要新建一个类继承 android.view.View.然后在 onDraw 中写自己需要实现的方式. 这里定 ...
- Android 打造完美的侧滑菜单/侧滑View控件
概述 Android 打造完美的侧滑菜单/侧滑View控件,完全自定义实现,支持左右两个方向弹出,代码高度简洁流畅,兼容性高,控件实用方便. 详细 代码下载:http://www.demodashi. ...
- WPF 在image控件用鼠标拖拽出矩形
原文:WPF 在image控件用鼠标拖拽出矩形 版权声明:博客已迁移到 http://lindexi.gitee.io 欢迎访问.如果当前博客图片看不到,请到 http://lindexi.gitee ...
- 2018-11-19-WPF-在image控件用鼠标拖拽出矩形
title author date CreateTime categories WPF 在image控件用鼠标拖拽出矩形 lindexi 2018-11-19 15:35:13 +0800 2018- ...
随机推荐
- Python——PyQt GUI编程(python programming)
import sys from math import * from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidg ...
- python request Payload 数据处理
普通的http的post请求的请求content-type类型是:Content-Type:text/html; charset=UTF-8, 而另外一种形式request payload,其Cont ...
- [UE4]Static Mesh的碰撞体
一.可以在3D建模的时候添加碰撞体,导入到UE4的时候,碰撞体也会跟着导入进来. 二.也可以在UE4中自行添加碰撞体 三.在UE4中添加编辑碰撞体 四.选择碰撞体可以移动.缩放.旋转碰撞体,如果模型比 ...
- VMware 安装 CentOS7
需要注意几点: 1.分区 分区前先规划好 swap #交换分区,一般设置为内存的2倍 / #剩余所有空间 备注:生产服务器建议单独再划分一个/data分区存放数据 点左下角的“+”号 挂载点:swap ...
- Difference between hash() and id()
https://stackoverflow.com/questions/34402522/difference-between-hash-and-id There are three concepts ...
- 获取cpu和内存使用情况
public class SystemInfo { [DllImport("kernel32")] public static extern void GetSystemDirec ...
- 修改Linux主机名
如果安装时没有设置,一般默认主机名为localhost.localdomain. 通过以下方式修改成自己设置的主机名: 1. vi /etc/sysconfig/network NETWORKING= ...
- linux centos7下mysql安装--韩国庆
首先我先给大家介绍下MariaDB和mysql的区别. 上图,“MySQL之父”的骨灰级程序员Monty,但是mysql被Oracle收购后,Monty又开始去发展另一条数据库的道路,并且以Monty ...
- 棒槌的工作第11天-----------------------单词(select和epoll)
https://baike.baidu.com/item/epoll/10738144?fr=aladdin epoll百科 https://baike.baidu.com/item/select%2 ...
- Python全栈开发记录_第九篇(面向对象(类)的学习)
有点时间没更新博客了,今天就开始学习类了,今天主要是面向对象(类),我们知道面向对象的三大特性,那就是封装,继承和多态.内容参考该博客https://www.cnblogs.com/wupeiqi/p ...