我设法实现了具有图像的叠加服务,可以在应用程序中移动它。但是我试图在叠加服务上注入一个点击侦听器,以便当我按下它时,例如,在叠加服务下的按钮会将其传递给底层按钮并被按下。我试着环顾四周,但没有运气。
如何以一种聪明的方式做到这一点的任何提示?
这是用于移动叠加层的代码
overlayView.setOnTouchListener(new View.OnTouchListener() {
private WindowManager.LayoutParams paramsF = params;
private int initialX;
private int initialY;
private float initialTouchX;
private float initialTouchY;
@Override public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// Get current time in nano seconds.
initialX = paramsF.x;
initialY = paramsF.y;
initialTouchX = event.getRawX();
initialTouchY = event.getRawY();
break;
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_MOVE:
paramsF.x = initialX + (int) (event.getRawX() - initialTouchX);
paramsF.y = initialY + (int) (event.getRawY() - initialTouchY);
windowManager.updateViewLayout(overlayView, paramsF);
break;
}
return false;
}
答案 0 :(得分:0)
您可能想覆盖ontouchlistener,以便它不占用事件,而是将其传递给下一层?我不太清楚您要做什么,但是如果我们在同一页面上,那就是您想要的。