【发布时间】:2011-06-16 11:59:46
【问题描述】:
我目前很难在全屏模式下显示 TYPE_SYSTEM_ALERT 窗口。我想这样做是为了在状态栏顶部有一个从服务创建的覆盖视图,但不隐藏它。
但是,将 FLAG_FULLSCREEN 标志放在我正在创建的窗口的布局参数中似乎不起作用。我找到了 STATUS_BAR 和 EXPAND_STATUS_BAR 权限,但我找不到如何使用它们。
这是 LayoutParams :
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_FULLSCREEN,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.RIGHT | Gravity.TOP;
mWindowManager.addView(mOverlayView, params);
有什么想法吗?
谢谢
【问题讨论】:
-
我一直在使用类似的技术在任何应用程序上渲染画中画视频流。但是,使用您的方法创建的视图的更新率似乎与它下面的视图的更新率有关。你知道是否有办法解耦更新率并最大化透明覆盖的更新率?