4

我有一项服务可以向窗口管理器添加一些视图(类似于 facebook 的聊天头)。即使在我使用相机应用程序时,这些视图也始终处于最重要的位置。是否可以知道某些活动(如相机或视频播放器)何时使用全屏,以便我可以隐藏我的视图?

编辑:

有一个叫做 View.OnSystemUiVisibilityChangeListener 的东西,但它需要 API 11。我的目标是 9,但看起来这正是我需要的。API 9 的任何替代方案?

4

1 回答 1

4

好的,如果有人感兴趣,我已经通过这种方式解决了我的问题:在窗口管理器中添加了一个透明视图,宽度为 1px,match_parent 高度。然后向这个视图添加了一个全局布局监听器,每次布局发生变化时,我都会检查这个视图在屏幕上的位置。如果 Y 为 0,则状态栏不可见,因此必须运行全屏应用程序。这比本机 View.OnSystemUiVisibilityChangeListener 效果更好,因为似乎有些应用程序不会以某种方式触发该方法(例如新的雅虎天气)。

于 2013-10-05T19:43:31.580 回答