Android创建"Ghost"图像(Touch-through)

jyo*_*Pro 5 android overlay image

我创建了一个service将图像叠加在整个屏幕上的图像.

这部分代码将覆盖整个屏幕顶部的图像:

@Override public void onCreate() {
    super.onCreate();

    windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);

    img = new ImageView(this);
    img.setImageResource(R.drawable.image); // Image is .png format

    WindowManager.LayoutParams params = new WindowManager.LayoutParams(
        WindowManager.LayoutParams.WRAP_CONTENT,
        WindowManager.LayoutParams.WRAP_CONTENT,
        WindowManager.LayoutParams.TYPE_PHONE,
        WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
        PixelFormat.TRANSLUCENT);

        params.gravity = Gravity.CENTER | Gravity.CENTER;
        params.x = 0;
        params.y = 0;

        windowManager.addView(img, params);
}
Run Code Online (Sandbox Code Playgroud)

但是,图像覆盖的任何空间都是不可触及的.我希望图像只是重叠,而不会影响屏幕上的任何其他组件,类似于这样做:

CPU使用覆盖示例

如何使图像下方的区域可触摸(触摸)?

编辑
似乎图像的透明空间填充正方形,并覆盖屏幕(FYI).因此,我的最终目标是使图像触摸.

我尝试过这个popupWindow类,由一些SO用户推荐,但它的目的不能满足我的需求而且不起作用.

jyo*_*Pro 1

我发现这WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY解决了问题。