首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

获取相对于自定义ImageView的接触坐标

是指在自定义ImageView控件上触摸或点击时,获取触摸点相对于该控件的坐标位置。下面是完善且全面的答案:

在Android开发中,可以通过以下步骤获取相对于自定义ImageView的接触坐标:

  1. 首先,需要在自定义ImageView的代码中重写onTouchEvent方法,该方法会在用户触摸或点击该控件时被调用。
  2. 在onTouchEvent方法中,可以通过MotionEvent对象获取触摸事件的相关信息,包括触摸点的坐标。
  3. 使用getX()和getY()方法可以获取触摸点相对于整个屏幕的坐标位置。
  4. 为了获取触摸点相对于自定义ImageView的坐标位置,需要减去自定义ImageView在屏幕上的位置偏移量。
  • 可以使用getLeft()和getTop()方法获取自定义ImageView在父容器中的左上角坐标。
  • 如果自定义ImageView的父容器是一个布局容器(如LinearLayout、RelativeLayout等),可以通过getParent()方法获取父容器的引用,然后使用getLeft()和getTop()方法获取父容器在屏幕上的位置偏移量。
  • 最后,将触摸点的屏幕坐标减去自定义ImageView和父容器的位置偏移量,即可得到触摸点相对于自定义ImageView的坐标位置。

以下是一个示例代码:

代码语言:java
复制
@Override
public boolean onTouchEvent(MotionEvent event) {
    int action = event.getAction();
    switch (action) {
        case MotionEvent.ACTION_DOWN:
        case MotionEvent.ACTION_MOVE:
        case MotionEvent.ACTION_UP:
            float x = event.getX() - getLeft();
            float y = event.getY() - getTop();
            // 在这里可以使用x和y的值进行相应的处理
            break;
    }
    return true;
}

这样,当用户在自定义ImageView上触摸或点击时,就可以获取到相对于该控件的接触坐标。

对于这个问题,腾讯云没有特定的产品或服务与之直接相关。但是,腾讯云提供了丰富的云计算产品和服务,可以帮助开发者构建和部署各种应用。你可以参考腾讯云官方文档来了解更多关于腾讯云的产品和服务:腾讯云官方文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Android 自定义上面圆角下面直角ImageView

    类似于这样图片: image.png 之前用过RoundImageView,其实就是自定义ImageView。想了一下自己重新画一下图片不就ok了么?再给布局设置一个圆角效果。...好了我们来看一下源码: 1.首先我们自定义RoundImageView继承于ImageView public class RoundedImageView extends ImageView { /...,依次为左上角x,y半径、右上角、右下角、左下角 接下来我们就自己画一下imageview 我们给路径添加圆角矩形,将我们定义圆角半径设置进去,给canvas切割一下画布就可以了。...imageview就画成了上面是圆角,下面是直角了。如果需要图片四个角为不同直角圆角,只需要改一下我们圆角半径值就可以了。...,然后设置一下布局background就ok了 比较简单,如果想要详细学习自定义圆角图片,推荐大家可以学习一下洪洋 Android BitmapShader 实战 实现圆形、圆角图片 Android

    4K40

    Android实现自定义ImageView圆角矩形图片效果

    android中ImageView只能显示矩形图片,这样一来不能满足我们其他需求,比如要显示圆角矩形图片,这个时候,我们就需要自定义ImageView了,其原理就是首先获取到图片Bitmap,...自定义圆形ImageView实现代码如下: package com.xc.xcskin.view; import android.content.Context; import android.graphics.Bitmap...; /** * 自定义圆角矩形ImageView,可以直接当组件在布局中使用。...canvas.drawBitmap(b, rectSrc, rectDest, paint); } else { super.onDraw(canvas); } } /** * 获取圆角矩形图片方法...,希望本文内容对大家学习或者工作具有一定参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ZaLou.Cn支持。

    2.3K20

    Android项目实战(九):CustomShapeImageView 自定义形状ImageView

    一个两年前出来第三方类库,具有不限于圆形ImageView多种形状ImageView,项目开发必备 github下载地址:https://github.com/MostafaGazar/CustomShapeImageView...SVG可以算是目前最最火热图片文件格式,这里作者已经给我们写好了几个特殊图形  如果想要自定义更多形状的话,可以学习下SVG  1、shape_5.svg 五边形 ?...3、接下来就是使用了 如果我们使用raw文件夹下svg写形状作为ImageView形状 则:这里一个app:svg_raw_resource="@raw/shape_star_3" 这里就是指定图片形状为...源码中CustomShapeImageView.java看了下源码是默认显示圆形图片ImageView,里面有圆形,方形,自定义形,看情况使用了,个人感觉,以上几个使用起来就足够了。...相关知识: 自定义圆形图片

    70670

    Android编程实现自定义ImageView圆图功能方法

    本文实例讲述了Android编程实现自定义ImageView圆图功能方法。分享给大家供大家参考,具体如下: 首先很感谢开源项目Universal Image Loader图片加载框架。...之前也看过一段时间框架源码,但是却没有时间进行知识点总结。...(刚开始一直以为shader是阴影意思,原来有道一下是着色器意思,这个翻译其实对我理解代码还是很重要,所以不要想当然,要勤奋点,这个是优秀程序员必备要素。)...最后我要实现是继承ImageView实现圆图 public class URoundedImageView extends ImageView { private Paint mBitmapPaint...总结:多参考优秀开源项目,用正确方法做正确事情!

    35751

    Android自定义控件总结

    自定义控件分类: 1、使用系统控件,实现自定义效果 2、自己定义一个类继承View ,如textView、ImageView等,通过重写相关方法来实现新效果 3、自己定义一个类继承ViewGroup...6.根据需要为你自定义view提供自定义属性,即编写attr.xml,然后在代码中通过TypedArray等类获取自定义属性值。  7.需要处理滑动冲突、像素转换等问题。...(只有在自定义ViewGroup中才用到),这个坐标相对于当前视图父视图而言。...1.在down时候去记录坐标点 getX/getY获取相对于当前View左上角坐标,getRawX/getRawY获取相对于屏幕左上角坐标。...比如接触到按钮时,x,y是相对于该按钮左上点相对位置。而rawx,rawy始终是相对于屏幕位置。 2.move时候计算偏移量,并用scrollTo()或scrollBy()方法移动view。

    1.3K80

    Android自定义控件总结

    自定义控件分类: 1、使用系统控件,实现自定义效果 2、自己定义一个类继承View ,如textView、ImageView等,通过重写相关方法来实现新效果 3、自己定义一个类继承ViewGroup...6.根据需要为你自定义view提供自定义属性,即编写attr.xml,然后在代码中通过TypedArray等类获取自定义属性值。 7.需要处理滑动冲突、像素转换等问题。...(只有在自定义ViewGroup中才用到),这个坐标相对于当前视图父视图而言。...1.在down时候去记录坐标点 getX/getY获取相对于当前View左上角坐标,getRawX/getRawY获取相对于屏幕左上角坐标。...比如接触到按钮时,x,y是相对于该按钮左上点相对位置。而rawx,rawy始终是相对于屏幕位置。 2.move时候计算偏移量,并用scrollTo()或scrollBy()方法移动view。

    98011

    win10 uwp 获取窗口坐标和宽度高度 获取可视范围获取当前窗口坐标和宽度高度获取最前窗口范围

    本文告诉大家几个方法在 UWP 获取窗口坐标和宽度高度 获取可视范围 获取窗口可视大小 Windows.UI.ViewManagement.ApplicationView.GetForCurrentView...().VisibleBounds 获取当前窗口坐标和宽度高度 Window.Current.Bounds 获取最前窗口范围 通过 Win32 Api 获取最前窗口范围 IntPtr hWID...E5%8F%A3%E7%9A%84%E5%9D%90%E6%A0%87%E5%92%8C%E5%AE%BD%E5%BA%A6%E9%AB%98%E5%BA%A6.html ,以避免陈旧错误知识误导...,同时有更好阅读体验。...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改后作品务必以相同许可发布。

    3.8K30

    VC如何获取对话框中控件坐标

    VC如何获取对话框中控件坐标 GetWindowRect是取得窗口在屏幕坐标系下RECT坐标(包括客户区和非客户区),这样可以得到窗口大小和相对屏幕左上角(0,0)位置。...GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下RECT坐标,可以得到窗口大小,而不能得到相对屏幕位置,它top和left都为0,right和botton是宽和高,因为这个矩阵是在客户区坐标系下...(相对于窗口客户区左上角)。  ...ClientToScreen把客户区坐标系下RECT坐标转换为屏幕坐标系下RECT坐标. ScreenToClient把屏幕坐标系下RECT坐标转换为客户区坐标系下RECT坐标.     ...然后GetClientRect取得一个RECT,再用ClientToScreen转换到屏幕坐标系。显然,GetWindowRect取得矩阵不小于GetClientRect取得矩阵。

    2.5K90
    领券