2 ch5378 ch5378 于 2014.10.20 15:34 提问

Android中点击ImageView 如何知道 点击坐标是否在控件中的Bitmap上

如题,imageview的onTouchEvent事件中获得点击坐标,但是view中的bitma并不是和imageview等大小的,而且用矩阵将Bitmap动态旋转、缩放了,想要知道点击的坐标是否位于bitmap上。目前的解决方案是,获取坐标点的Imageview的颜色值,看那是否登录0,但是Imageview点击获取颜色值有点卡,体验不好。我想应该可以用数学的方法来解决这个问题的。希望大神们帮助一下,或者提示方法。

1个回答

franzhong
franzhong   2014.10.21 15:48

把不规则的区域画出来弄成公式去识别,我有一篇文章,你可做参考:

Android不规则图形点击事件

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
android根据坐标获取相应控件,判断点是否在控件上
本文转自:http://www.2cto.com/kf/201501/370226.html /**      * 根据坐标获取相对应的子控件      * 在Activity使用      *       * @param x坐标      * @param y坐标      * @return 目标View      */     public View getViewAtA
Android 判断当前点击位置是否在圆的内部
我们都知道,一个圆形的ImageView控件(本项目中使用的是github上的),其实所占的区域还是正方形区域,只是显示内容为圆形,当我们给ImageView设置触摸事件时,没有显示区域也会相应点击事件,而我们可以通过计算当前点击的位置来判断ImageView是否相应触摸事件。效果如图所示:如上图所示,当点击圆之内拖动时,圆跟着移动,但是点击圆之外拖动时,圆没有任何反应。要实现这个效果并不难,首先,
自定义ImageView,实现点击之后算出点击的是身体的哪个部位
最近也是因为项目的原因,所以有机会接触到这边的算法。 此文重点不是如何实现的思路和原理, 有需要的同事可以借鉴一下 废话不多说,直接上代码: public class MyImage extends ImageView { private DisplayMetrics dm; private int bodyImageViewHeight = 0; private
Android获取控件坐标,触摸点坐标 getX getRawX
MotionEvent.getRawY() 是触摸点相对于屏幕原点坐标(包括状态栏-显示中国移动那个栏) getY() 是相对于父控件的坐标 getScrollY() 是指控件顶部划出去的距离 可以具体到某个控件 状态栏高度获取: Rect frame = new Rect();   getWindow().getDecorView().getWind
Android中从ImageView中取出图片bitmap注意事项
最近在工作中遇到一个需求,是在做视频播放器时,要求中间的播放按钮是毛玻璃效果。这就要在这个图片的相应位置取出bitmap对象,然后进行模糊处理再设置回去。 这张图片是从服务端异步获取的,所以在获取图片完成时会设置完整个控件的大图,然后我再从空间中取出我需要的那一小块bitmap. bitmap = Bitmap.createBitmap(imageVie
获取imageview里的Bitmap
imageView.getBackground(),是获取它的背景图片; 在调用getDrawingCache的时候要注意下面2点: 在调用getDrawingCache()方法从ImageView对象获取图像之前,一定要调用setDrawingCacheEnabled(true)方法: imageview.setDrawingCacheEnabled(true);
判断touch点击坐标是否在view中
判断touch事件的坐标是否在view中private boolean inRangeOfView(View view, MotionEvent ev) { int[] location = new int[2]; view.getLocationOnScreen(location); int x = location[0]; int y = location[1]
android listview 中的子控件(比如ImageView)设置点击事件
这里要实现为android中listview 的项中子控件(比如ImageView)设置点击事件: 直接在listview的适配器中注册点击代码即可,参阅:http://blog.csdn.net/xxxsz/article/details/7582603
接口回调----点击item中的ImageView,在Activity中显示dialog
用接口回调实现 : 点击listview的item中的一个图标,在activity中弹出一个dialog.
android之View坐标系(view获取自身坐标的方法和点击事件中坐标的获取)
在做一个view背景特效的时候被坐标的各个获取方法搞晕了,几篇抄来抄去的博客也没弄很清楚。现在把整个总结一下。其实只要把下面这张图看明白就没问题了。涉及到的方法一共有下面几个:view获取自身坐标:getLeft(),getTop(),getRight(),getBottom()view获取自身宽高:getHeight(),getWidth()motionEvent获取坐标:getX(),getY