【发布时间】:2018-07-12 18:13:51
【问题描述】:
我已经设法实现了一个具有图像的覆盖服务,它可以在应用程序中移动。但是我试图在覆盖服务上注入一个点击监听器,这样当我按下它时,例如覆盖服务下的一个按钮,它应该将点击传递给底层按钮并被按下。我试图环顾四周,但没有运气。
关于如何以聪明的方式做到这一点的任何提示?
这是移动叠加层的代码
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;
}
【问题讨论】:
标签: android service overlay inject