在 android 中是否可以在 native 代码中获取显示尺寸?
我看到有EGL相关的函数:
EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
surface = eglCreateWindowSurface(display, config, engine->app->window, NULL);
eglQuerySurface(display, surface, EGL_WIDTH, &w);
eglQuerySurface(display, surface, EGL_HEIGHT, &h);
但我需要尺寸而不创建任何表面。
最佳答案
您可以在处理 APP_CMD_INIT_WINDOW
“app 命令”时获取窗口大小,就像在您的 native Activity 中这样:
static void engine_handle_cmd(struct android_app* app, int32_t cmd) {
struct engine* engine = (struct engine*)app->userData;
switch (cmd) {
case APP_CMD_INIT_WINDOW:
if (engine->app->window != NULL) {
int width = ANativeWindow_getWidth(engine->app->window);
int height = ANativeWindow_getHeight(engine->app->window);
}
如果您想了解如何设置引擎
结构,请查看native-activity
示例NDK项目中的main.c
& engine_handle_cmd
回调。
关于android:如何在 native 代码中获取显示分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14377407/