判断触摸事件是否在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)
}