android - 如何在 Android SDL2.0 NDK C 上获取屏幕尺寸?

标签 android c android-ndk sdl-2

在我的 SDL 程序中,我必须获得屏幕尺寸。 我该怎么做? 在 Android 上我无法使用

error: initializer element is not constant
 int height = Android_ScreenHeight;

是否可以在 ndk 中初始化它?

最佳答案

您可以获得屏幕缓冲区大小:

void android_main(struct android_app* state) {
  ...

  ANativeWindow* window = state->window;
  ANativeWindow_Buffer buffer;

  // Try lock buffer
  if (ANativeWindow_lock(window, &buffer, 0) < 0)
    return;

  LOGI("buffer info: width = %d height = %d", buffer.width, buffer.height);

  // Unlock buffer
  ANativeWindow_unlockAndPost(window);

  ...
}

我知道您还可以通过其他 NDK 工具获取屏幕信息,但这行得通!

关于android - 如何在 Android SDL2.0 NDK C 上获取屏幕尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30391912/

相关文章:

android - 在 Android NDK 上使用 ffmpeg 淡入淡出图片

Android TextInputLayout 没有显示错误

android - 如何添加这个谷歌播放更新对话框?

安卓开启背光

C - 无法使用remove()删除文件夹中的文件

c++ - 在 GCC 中欺骗预处理器 VARIADIC MACROS

C - 从一个 int 中获取一个字符串

android - 如何为android制作一个包含 native 代码和纯java的库

java - 应用内计费进入偏好设置

Android NDK 头文件不存在