在图像叠加服务上注入点击监听器

时间:2018-07-12 18:13:52

标签: android service overlay inject

我设法实现了具有图像的叠加服务,可以在应用程序中移动它。但是我试图在叠加服务上注入一个点击侦听器,以便当我按下它时,例如,在叠加服务下的按钮会将其传递给底层按钮并被按下。我试着环顾四周,但没有运气。
如何以一种聪明的方式做到这一点的任何提示?

这是用于移动叠加层的代码

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;
            }

1 个答案:

答案 0 :(得分:0)

您可能想覆盖ontouchlistener,以便它不占用事件,而是将其传递给下一层?我不太清楚您要做什么,但是如果我们在同一页面上,那就是您想要的。