Android 判断触摸事件是否在View指定区域内

判断触摸事件是否在View指定区域内


用此方法来完成点击自定义View中某个区域才实现什么功能。
**使用 Rect.contains(float, float) 判断触摸事件是否在 View 内: **
方法:boolean isInViewRect = rectf.contains(x, y);

override fun onTouchEvent(event: MotionEvent): Boolean {
        if (event.action == MotionEvent.ACTION_DOWN) {
            mClickStartFlag = mRects[8].contains(event.x, event.y)
            Log.e("event","${event.x}+${event.y}")
            Log.e("event","${mRects[8]}")
            return true
        }
        if (event.action == MotionEvent.ACTION_UP) {
            if (mClickStartFlag) {
                if (mRects[8].contains(event.x, event.y)) {
                    starAnim() //判断只有手指落下和抬起都在中间的矩形内才开始动画
                }
                mClickStartFlag = false
            }
        }
        return super.onTouchEvent(event)
    }

猜你喜欢

转载自blog.csdn.net/qq_35416214/article/details/106231478
今日推荐