Android:切换触摸事件焦点视图

时间:2018-02-06 22:29:14

标签: android android-view android-touch-event

我正在追踪ImageView上的触摸事件,当我触摸它时,视图会被隐藏,所有视图都被FrameLayout覆盖。我需要停止图像视图上的触摸事件并在新layout上传输新的触摸事件,该事件覆盖此ImageView

我尝试过这样的事情:

imageView.setOnTouchEventListener { v, event ->
    imageView.clearFocus()
    frameLayout.requestFocus()
    return false
}

我尝试了dispatchEvent但在这种情况下不起作用,因为imageView只是整个屏幕的一小部分,frameLayout涵盖了所有屏幕。< / p>

无论如何我总是遇到同样的问题,我必须抬起手指再次触摸屏幕,这样imageView就会丢失旧的触摸事件,最后帧布局开始捕捉它。我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以在ImageView和FrameLayout上实现触摸事件侦听器,然后使用变量来了解ImageView是否被触摸。像这样的东西:

boolean imageViewIsTouched = false;

imageView.setOnTouchEventListener { v, event ->
    if(!imageViewIsTouched){
         //do something
         imageViewIsTouched = true;
    }
    return false
}

frameLayout.setOnTouchEventListener { v, event ->
    if(imageViewIsTouched){
       //do something
    }
    return false
}