aco*_*ard 5 android overlay view
我想在我的整个应用程序上叠加一个视图,包括所有活动。将其视为我应用程序上的 HUD(平视显示器)。该应用程序有多个活动,包括选项卡活动,并且 HUD 不会以任何方式与用户交互,它只是显示信息,同时让用户像往常一样与应用程序交互。我希望此 HUD 用于调试目的,以便我(和其他人)可以在手机未连接到调试机器(现场测试)时监控应用程序活动和状态。
我该如何添加这样的视图?
我试过像这样使用 WindowManager.addView() :
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT,
WindowManager.LayoutParams.TYPE_APPLICATION,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
windowManager.addView(hudView, lp);
Run Code Online (Sandbox Code Playgroud)
但是当我启动新活动时,HUD 似乎并没有持续在前台,它只是消失了。
我知道这是一个老问题,但我想我还是会回答,因为这对我有帮助。我试图让 HUD 在 openGL 游戏中运行,这非常适合。
由于您已经使用窗口管理器显示了 HUD,因此要使其在活动之间保持持久性,您所需要做的就是调用windowManager.addView(hudView, lp);每个活动的onResume()方法。虽然不确定内存影响是什么(即,当窗口管理器在切换活动时将视图从屏幕上删除时,视图将被处理),但至少它会在整个应用程序中保持 HUD 处于运行状态。
| 归档时间: |
|
| 查看次数: |
2986 次 |
| 最近记录: |