在android中是否可以在本机代码中获取显示尺寸?
我看到有与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);
但我需要尺寸而不创造任何表面。
答案 0 :(得分:4)
您可以在处理APP_CMD_INIT_WINDOW
“app命令”时获取窗口大小“就像在您的原生活动中一样:
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);
}
如果您想知道如何设置main.c
结构和放大器,请查看native-activity
示例NDK项目中的engine
。 engine_handle_cmd
回调。
答案 1 :(得分:-1)
如果你正在寻找像素值height_pixels和width_pixels是probs你正在寻找什么。有关详细信息,请参阅开发人员文档:
http://developer.android.com/reference/android/util/DisplayMetrics.html