我正在使用SDL-2.0.3和NDK-r10e,我试图让返回按钮将应用程序切换到后台,所以我尝试使用函数SDL_MinimizeWindow()但它什么也没做!这是一个错误还是我错过了什么?
这是我的代码:
if(event.key.keysym.sym == SDLK_AC_BACK)
{
SDL_MinimizeWindow(window);
SDL_Log("window minimized !\n");
}
一切正常,我按下按钮时会收到日志消息,但窗口没有最小化
答案 0 :(得分:1)
在Android上似乎不支持这种情况(除非你算完Activity
,否则在Android上最小化#34;窗口"
SDL_MinimizeWindow
函数如下所示:
void
SDL_MinimizeWindow(SDL_Window * window)
{
CHECK_WINDOW_MAGIC(window, );
if (window->flags & SDL_WINDOW_MINIMIZED) {
return;
}
SDL_UpdateFullscreenMode(window, SDL_FALSE);
if (_this->MinimizeWindow) {
_this->MinimizeWindow(_this, window);
}
}
其中_this
是SDL_VideoDevice *
,在运行时设置为指向适当平台的SDL_VideoDevice
。 The Android video driver仅设置以下3个与窗口相关的函数:
device->CreateWindow = Android_CreateWindow;
device->SetWindowTitle = Android_SetWindowTitle;
device->DestroyWindow = Android_DestroyWindow;
尝试在Android上的SDL_Window
上执行任何其他操作可能无效。
来自SDL_androidwindow.c的几行代码形式的更多信息:
window->flags &= ~SDL_WINDOW_RESIZABLE; /* window is NEVER resizeable */
window->flags |= SDL_WINDOW_FULLSCREEN; /* window is always fullscreen */