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

时间:2015-05-22 08:31:05

标签: android c android-ndk sdl-2

在我的SDL程序中,我必须获得屏幕尺寸。 我怎么能这样做? 在android上我不能使用

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

可以在ndk中初始化吗?

1 个答案:

答案 0 :(得分:1)

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

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的东西获得屏幕信息,但这有效!