sas*_*ash 4 android overlay navigationbar viewgroup
在我的应用程序中,我需要在所有正在运行的应用程序之上绘制一个位图。我创建了一个不可见的视图,并覆盖在所有应用程序之上。使用此叠加视图,我可以在给定位置绘制位图,但无法在导航栏顶部绘制位图。我使用了以下布局参数。
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_FULLSCREEN
|WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
|WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
|WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR
|WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
Run Code Online (Sandbox Code Playgroud)
我需要帮助来解决这个问题。提前致谢
我自己解决了这个问题,要在 android 底部的导航栏顶部绘制,我必须在定义 windowManager.Layout 参数时在 Y 位置给出一个偏移量,如下所示。
w = new android.view.WindowManager.LayoutParams(-1, -1,0,-navigationBarHeight(), WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_FULLSCREEN
|WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
|WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
|WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR
|WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, Pixel.Translucent);
f.addView(v, w);
Run Code Online (Sandbox Code Playgroud)
注意:这只在导航栏半透明时有效
| 归档时间: |
|
| 查看次数: |
3534 次 |
| 最近记录: |