捕获Android屏幕截图图层

nbnkbykc  于 2023-06-20  发布在  Android
关注(0)|答案(1)|浏览(169)

我目前正在使用媒体投影捕获屏幕,在屏幕上运行另一个应用程序,现在我想添加元素到一个浮动窗口,仍然只捕获下面的层。
使用时
layoutParams.flags = WindowManager.LayoutParams.FLAG_SECURE
我显示的窗口部分是黑色的,看不到下面的图层
有没有人知道一种方法来捕捉屏幕没有我的覆盖?

sqyvllje

sqyvllje1#

要捕获没有覆盖的屏幕,您需要确保浮动窗口是透明的。您可以通过将浮动窗口的alpha值设置为0来实现这一点,这将使其完全透明。
下面是如何创建透明浮动窗口的示例:
//创建浮动窗口的布局

View floatingView = LayoutInflater.from(this).inflate(R.layout.floating_window_layout, null);

// Set the alpha value of the floating view to 0 to make it transparent
floatingView.setAlpha(0);

// Set up the layout parameters for the floating window
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(
    WindowManager.LayoutParams.WRAP_CONTENT,
    WindowManager.LayoutParams.WRAP_CONTENT,
    WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
    PixelFormat.TRANSPARENT);

// Add the floating window to the window manager
WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
windowManager.addView(floatingView, layoutParams);

相关问题