触摸点个数获取 ( getPointerCount ) VI . 触摸点坐标获取 VII . 多点触控 示例代码 ( 参考 ) I . 多点触控事件 ---- 1 ....获取 坐标 //1.1 获取 当前 触摸 事件的 x y 坐标 float x = event.getX(); float y = event.getY(); //1.2 获取 指定 pointerIndex...的 x y 坐标 ( 获取第 0 个索引的坐标 ) int pointerIndex = 0; float x_pointer = event.getX(pointerIndex); float y_pointer...获取 坐标 //1.1 获取 当前 触摸 事件的 x y 坐标 float x = event.getX(); float y = event.getY...(); //1.2 获取 指定 pointerIndex 的 x y 坐标 ( 获取第 0 个索引的坐标 ) int pointerIndex = 0;
:上报触摸点的X坐标信息 ABS_MT_POSITION_Y:上报触摸点的Y坐标信息 ABS_MT_TRACKING_ID:TypeB区分触摸点 下面具体介绍两种协议的区别。...0x3d /* Center Y tool position */ 具体的定义在input.h文件中: 3.3 触摸数据上报实例分析 上篇文章只是将触摸坐标打印到了屏幕,实际是使用触摸屏时,需要将坐标数据通过...code 为事件编码,也就是按键号 0000:ABS_X,单点触摸上报X坐标值 0001:ABS_Y,单点触摸上报Y坐标值 0035:ABS_MT_POSITION_X,多点触摸上报X坐标值 0036...:ABS_MT_POSITION_Y,多点触摸上报Y坐标值 0039:ABS_MT_TRACKING_ID,触摸点的track id 014a:BTN_TOUCH,触摸按键 value 就是按键值, 为...,多点触摸Y坐标值,Y=0xc1 (193) 第4行:按键事件,触摸按键,1表示按键按下 第5行:绝对坐标事件,单点触摸X坐标值,X=0x9d (157) 第6行:绝对坐标事件,单点触摸Y坐标值,Y=0xc1
在基于ArcEngine的三维开发时,如何在ArcSceneControl中获取实时x,y,z坐标并显示到状态栏: 很明显,要让鼠标在三维场景视图ArcSceneControl中移动时,在状态栏实时显示...xyz坐标,肯定要用到的是OnMouseMove事件。...首先添加该事件,然后在状态栏添加三个显示坐标值的控件,可以是文本框、标签等,能显示坐标文本就行了。这里就不赘述了,比较简单。...下面看最核心的代码,就是如何获取xyz坐标值: barEditItemX.EditValue = ""; barEditItemY.EditValue =...e.y, esriScenePickMode.esriScenePickAll, false, out pHit3Dset); pHit3Dset.OnePerLayer();
如果你是期望用在多点触摸上,在阅读本文之前,请确定你对触摸有足够的了解 在开始之前,给大家看一下效果 ?...ManipulationProcessor2D.SupportedManipulations = Manipulations2D.Scale; 使用 ManipulationProcessor2D 的重点是监听事件,在事件里面获取交互...触摸点列表要求传入的触摸点包含了点的 Id 和坐标,在进行多点交互时,要求在相同的一个时间戳里面传入多个不同的点的坐标。...而因为此要求,将会让逻辑设计的时候比较复杂,原因是如果是用在多点触摸上,通过 Touch 或 Stylus 事件,每次获取的只是指定单个触摸设备的触摸点,而不是能拿到当前所有的触摸设备的触摸点,因此最简方法是加上一个字典做缓存...在 WPF 中 Touch 是触摸,而 Stylus 是触笔。
3.2 第二步: 应对绘画动作 在安卓设备上,你可以自定义安卓的触摸事件响应来应对用户的各种触控操作。...3.2.2 操作开始(touchStart) 当用户触碰行为开始时,下面的代码会建立一个新的路径同时记录路径中每一个点在屏幕上的坐标。...(); path.moveTo(x, y); this.x = x; this.y = y; } 3.2.3 手指移动(touchMove) 在手指移动中,我们会持续记录坐标点然后将它们构成一个...this.x = x; this.y = y; } } 3.2.4 操作结束(touchUp) 当触控操作结束后,下面的代码会绘制一个路径同时计算最小长方形目标框。...在得到 x 轴最左坐标,y 轴最上坐标,以及矩形高度和宽度后,就可以用这些信息截取出我们想要的图形(如右图所示)实现代码如下: RectF bound = maxBound.getBound(); int
在Android中,将屏幕最左上角的顶点作为Android坐标系的原点,从这个点向右是X轴的正方向,从这个点向下是Y轴的正方向。 ?...在触摸事件中,通过getX()和getY()所获得的坐标就是视图坐标系中的坐标。 ---- 触控事件-MotionEvent 触控事件MotionEvent在用户交互中,占据着举足轻重的位置。...X、Y坐标(视图坐标) int x = (int)event.getX(); int y = (int)event.getY(); switch(event.getAction(...,通常可以使用以上代码来完成触控事件的监听,上述仅仅是一个代码模板~ 在Android中提供了很多获取坐标值,相对举例的方法,我们来梳理一下。...顾名思义, scrollTo(x,y)表示移动到一个具体的坐标点 (x,y). scrollBy(dx,dy)表示移动的增量为dx,dy.
) { private float lastX; //上一次位置的X.Y坐标 private float lastY; private...float nowX; //当前移动位置的X.Y坐标 private float nowY; private float tranX; //悬浮窗移动位置的相对值...X,Y坐标 lastX = event.getRawX(); lastY = event.getRawY(...X,Y坐标 nowX = event.getRawX(); nowY = event.getRawY();...private float nowX; //当前移动位置的X.Y坐标 67 private float nowY; 68 private float
) findViewById(R.id.imageView1);// 获取控件 imgView.setImageBitmap(bitmap);// 填充控件 imgView.setOnTouchListener...(this);// 设置触屏监听 dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay()...(x * x + y * y); } /** * 两点的中点 */ private void midPoint(PointF point, MotionEvent... event) { float x = event.getX(0) + event.getX(1); float y = event.getY(0) + event.getY(1); ...point.set(x / 2, y / 2); } } 欢迎下载代码下载
imageView.frame.width, y: -imageView.frame.height).translatedBy(x: 0, y: -1) let layer = CAShapeLayer.../ 进行坐标转换 // 特征点的x坐标为人脸区域的比例, // 1. point.x * rectWidth 得到在人脸区域内的x位置...// 2. + faceRect.minX * imageView.frame.width 得到在View上的x坐标 // 3. point.y * rectHeight + faceRect.minY...* imageView.frame.height获得Y坐标 // 4. imageView.frame.height - 的作用是y坐标进行翻转 let...tempPoint = CGPoint(x: point.x * rectWidth + faceRect.minX * imageView.frame.width, y: imageView.frame.height
); //获取x 和 y坐标 int x = iv.getLeft(); int y = iv.getTop(); //获取屏幕密度 float scale = getResources().getDisplayMetrics...MotionEvent.ACTION_DOWN: //按下 //获取触摸点的坐标 x = event.getX(); y = event.getY(); //判断x y是不是在某个点的范围内 selected...x = event.getX(); y = event.getY(); //判断x y是不是在某个点的范围内 selected = dotOfTouch(x, y); if (selected !...public ImageView dotOfTouch(float x, float y){ //计算状态栏或者标题栏的距离 //遍历数组 for (ImageView dot:dotsList)...{ //获取这个dot相对于屏幕的x y int[] loc = new int[2]; dot.getLocationOnScreen(loc); int dx = loc[0]; int dy
= 10; params.y = 100; //获取WindowManager对象 mWindowManager = (WindowManager) getSystemService...closeBtn = (ImageView) mFloatingView.findViewById(R.id.close_btn); closeBtn.setOnClickListener...mFloatingView.findViewById(R.id.floating_container).setOnTouchListener(new View.OnTouchListener() { //获取...X坐标 private int startX; //获取Y坐标 private int startY; /.../初始化X的touch坐标 private float startTouchX; //初始化Y的touch坐标 private float
实现思路 这个效果的实现思路主要围绕手指触屏事件展开,注意点如下: 以ACTION_DOWN和ACTION_UP的Y轴距离差与自定义的滑动阈值作比较来判断是否上滑 借助Scroller类,触发LinearLayout...y轴坐标 mDownY = event.getY(); break; case MotionEvent.ACTION_UP: // 获取视图容器滚动的...y轴坐标 float curY = event.getY(); // 获取移动的y轴距离 float deltaY = curY - mDownY;...= null) { ImageView imageView = (ImageView) getView(viewId); imageView.setImageBitmap...问题与改进 问题出现 基于上述的扩展,在RecyclerView的item里的控件添加点击事件后,发现推荐页无法按预期显示隐藏:无论滑动多短的距离甚至是向上滑动,只要是在屏幕下方滑动,推荐页总是会自己显示出来
因此本篇文章中,我们就来对这一功能进行完善,加入点击图片就能浏览大图的功能,并且在浏览大图的时候还可以通过多点触控的方式对图片进行缩放。...right, int bottom) { super.onLayout(changed, left, top, right, bottom); if (changed) { // 分别获取到...matrix.postScale(ratio, ratio); float translateY = (height - (bitmapHeight * ratio)) / 2f; // 在纵坐标方向上进行偏移...matrix.postScale(ratio, ratio); float translateX = (width - (bitmapWidth * ratio)) / 2f; // 在横坐标方向上进行偏移...bitmap = BitmapFactory.decodeFile(imagePath); zoomImageView.setImageBitmap(bitmap); } } 可以看到,首先我们获取到了
MotionEvent.getY() 和 MotionEvent.getRawY() 的区别 ·getY 表示触摸事件在当前的View内的Y 坐标 ·getRawY表示触摸事件在整个屏幕上面的Y 坐标...(mActivePointerId) 支持多点触控 1.获取多手指触点均值 2.使用mLastTouchY记录此均值,用于下拉状态下,多手指触摸时,坐标计算 多点触摸相关代码 // <editor-fold...e.getActionIndex() : -1; // Determine focal point // step 3 计算 X,Y 坐标的sum值...= M(1-100^(-x/H)) value 含义 M 指当前允许下拉的最大高度 H 控件高度 x 物理偏移值spinner * 拖动比率 y y = M(1-100^(-x/H)) 很显然,随着...= M(1-100^(-x/H)) value 含义 M 指当前允许下拉的最大高度 H 控件高度 x 物理偏移值spinner * 拖动比率 y y = M(1-100^(-x/H)) 很显然,随着
extends Number> observable, Number oldValue, Number newValue) { System.out.println("X窗口现在坐标...extends Number> observable, Number oldValue, Number newValue) { System.out.println("Y窗口现在坐标...:"+newValue); System.out.println("Y窗口之前坐标:"+oldValue); } });//创建多个窗口,设置模式Stage s1..."+rec1.getMinX()+"左上角y"+rec1.getMinY()); System.out.println("右下角x--"+ rec1.getMaxX()+"右下角y--"+..."+rec2.getMinX()+"左上角y"+rec2.getMinY()); System.out.println("右下角x--"+ rec2.getMaxX()+"右下角y--"+
{ //需要先判断是否触屏区域是否在图像内,省略 if!...x)!- (touchPrePoint?.x)! let disY = (touchPoint?.y)!- (touchPrePoint?.y)!...var centerPoint = self.imageView.center centerPoint.x += disX centerPoint.y += disY self.imageView.center
(imageView) } } 4.1.2、添加到window 在页面的点击事件中,通过DecorView把这个FloatView添加到window中 mBinding.btnAddFloat.setOnClickListener...不管我们添加的根布局是rootView还是contentView,实际上可能都有需求不要盖住原有页面上的某些元素,这时候可以通过margin或者x/y坐标位置来限制view显示的位置。...4.1.3、视图层级关系 4.2、拖拽 4.2.1、View.OnTouchListener 实现View.OnTouchListener接口,重写onTouch方法,在onTouch方法中根据拖动的坐标实时修改...override fun onTouch(v: View, event: MotionEvent): Boolean { val x = event.x val y =...上面我们获取坐标用的是event.x,实际上还有event.rawX,他们的区别是什么,view在视图上的坐标又是怎么定义的?
item的id mListView.getFirstVisiblePosition();//获取可视区域第一个item的id 第五章 Android Scroll分析 1.获取坐标值的各种方法 图片来自...Android中的坐标系以及获取坐标的方法 ?...2.实现滑动的基本思想 当触摸view时,系统记下当前触摸点坐标;当手指移动时,系统记下移动后的触摸点坐标,从而获取到相对于前一次坐标点的偏移量,并通过偏移量来修改view的坐标,这样不断重复,从而实现滑动过程...: // 记录触摸点坐标 lastX = x; lastY = y; break; case...@Override public boolean onTouchEvent(MotionEvent event) { int x = (int) event.getX(); int y
50%为物件的X或Y方向坐标上的中点位置 长整型值: duration 属性为动画持续时间 说明: 时间以毫秒为单位 --> ...toXScale 属性为动画结束时 X坐标上的伸缩尺寸 fromYScale 属性为动画起始时Y坐标上的伸缩尺寸...50%为物件的X或Y方向坐标上的中点位置 长整型值: duration 属性为动画持续时间 说明: 时间以毫秒为单位 布尔型值:...-- translate 位置转移动画效果 整型值: fromXDelta 属性为动画起始时 X坐标上的位置 toXDelta 属性为动画结束时 X坐标上的位置...fromYDelta 属性为动画起始时 Y坐标上的位置 toYDelta 属性为动画结束时 Y坐标上的位置 注意:
,而是一个比例,比如fromX=0.5f,那么就表示播放动画的控件的x坐标都要乘以0.5,这是播放动画时控件的初始的x轴的状态,toX表示动画结束时控件x轴方向的位置,同样也是个比例,比如toX=1.0f...,那么动画结束时x轴方向上控件恢复原状,fromY和toY是Y分别是表示Y轴方向上动画的初始位置和结束位置,也都是一个比例值。...(testAnimation); } }); 代码解读:动画一开始的时候,控件的每个点的x坐标都乘以0.5,y坐标不变,即水平方向上向左压缩一半,动画结束的时候控件的每个点的...x坐标恢复原值,y坐标也为原始值。...(500-x)*0.5+x变化到(500-x)*0.8+x,y坐标从(500-y)*0.5+y变化到(500-y)*0.8+y,当然,x轴方向和y轴方向的变化是同时进行的。
领取专属 10元无门槛券
手把手带您无忧上云