gpt4 book ai didi

android - 使用 WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY 将 View 添加到窗口时,它没有获取触摸事件

转载 作者:太空宇宙 更新时间:2023-11-03 11:47:51 25 4
gpt4 key购买 nike

我需要在拨号器应用程序之上显示我的 View ,因此我为此使用了可触摸的 TYPE_PHONE,但在某些设备(如 Nexus 5 设备的拨号器应用程序)上仍然隐藏了它。

尝试使用 TYPE_SYSTEM_OVERLAY 使 View 在拨号器应用程序顶部可见,但触摸不存在。任何有关这方面的帮助都会很棒。

最佳答案

经过大量搜索上述问题,我找到了自己的解决方案。这就是我如何使 View 位于设备内部所有内容之上并使其可触摸,这在 TYPE_SYSTEM_OVERLAY 中是不可能的。

WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
PixelFormat.TRANSPARENT);

params.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL;
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
wm.addView(view, params);

关于android - 使用 WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY 将 View 添加到窗口时,它没有获取触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37138546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com