现在要实现一个不规则图片响应事件,要求是点击图片空白的地方时,不响应事件,只有点击图片位置时才响应事件。

解决方案 »

  1.   

    重写ViewGroup的dispatchTouchEvent(MotionEvent event)函数
    我曾经做过的一个获得checkbox的区域的代码:// Padding to increase clickable areas on left & right of each list item
        private final static float SELECT_PAD = 10.0F;
        float paddingScale = getContext().getResources().getDisplayMetrics().density;
    int selectPadding = (int) ((SELECT_PAD * paddingScale) + 0.5);
    mSelectRight = findViewById(R.id.selected).getRight() + selectPadding;

    然后通过event.getAction()来获得动作,在你的情况下是点击图片事件.最后做处理.
      

  2.   

    响应onTouch事件,在event.getAction()== ACTION_UP时判断,坐标是否在区域内
      

  3.   

    我是用bitmap的getPixel(x, y)方法,对返回的颜色值进行判断,解决了我的问题
      

  4.   

    如果没有现成的API,就搜一下“判断点是否在多边形内部”的算法,欧几里德算法吧好像叫