Too*_*oop 11 android android-layout
我目前很难在全屏模式下显示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);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢
Too*_*oop 18
我在尝试做其他事情时找到了解决方案!
为了使TYPE_SYSTEM_ALERT窗口位于每个其他窗口的顶部并且在状态栏的顶部,您必须添加FLAG_LAYOUT_IN_SCREEN标志而不是FLAG_LAYOUT_FULLSCREEN标志:
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_LAYOUT_IN_SCREEN,
PixelFormat.TRANSLUCENT);
mWindowManager.addView(mOverlayView, params);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12021 次 |
| 最近记录: |