NativeActivity显示在状态栏下

NoA*_*gel 5 c++ java android android-ndk native-activity

我有一个 Android 游戏,里面有 NativeActivity 和一些 Java 代码。我的应用程序以全屏显示,但现在我需要显示状态栏并使我的应用程序正确显示。

我知道如何显示状态栏,我尝试了两种方法:

  1. Android.xml:在应用程序的主题中使用 Theme.Holo 而不是 Theme.Holo.Fullscreen
  2. 在 onCreate() 中为应用程序窗口设置 FLAG_FORCE_NOT_FULLSCREEN

两种方法给出了相同的结果。显示状态栏,但其下方显示 EGL 视图。意味着绘制了 EGL 视图,然后在其上绘制了状态栏,EGL 视图的一部分被剪裁且不可见。

有没有办法让它只在可见区域绘制 EGL 视图,而不是在状态栏下?

我尝试修复它,但发现 ANativeWindow 是预定义的(?),当我创建 EGL 视图时,它的大小与 ANativeWindow 相同。所以我无法更改 EGL 视图的大小(没有这样的 API)。也许我们有办法改变 ANativeWindow 的大小?或者一些活动设置/标志的技巧可以让它很好地工作?