【发布时间】:2016-09-22 00:38:50
【问题描述】:
抱歉,标题太长了。我基本上想添加一个 SurfaceView 作为出现在所有窗口上方但不在通知栏上方的窗口(即使向下拖动)。我目前拥有的代码是:
WindowManager.LayoutParams params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
除了将视图放在通知栏上方之外,这非常有效。如果我改为使用 TYPE_SYSTEM_ALERT,我可以实现所需的 Z 顺序,但是我的应用程序将不会响应用户输入。然后我添加了标志 FLAG_NOT_TOUCHABLE,它允许用户根据需要与应用程序组件进行交互。但是,然后手机上的返回键和任务管理器键没有反应。
有没有办法实现我正在寻找的行为?我希望我说得足够清楚,用语言来描述我想要什么有点困难。谢谢!
【问题讨论】:
标签: java android android-windowmanager z-order