SDL android NDK管理返回按钮

时间:2015-07-22 14:16:21

标签: android android-ndk sdl-2

我正在使用SDL-2.0.3和NDK-r10e,我试图让返回按钮将应用程序切换到后台,所以我尝试使用函数SDL_MinimizeWindow()但它什么也没做!这是一个错误还是我错过了什么?

这是我的代码:

if(event.key.keysym.sym == SDLK_AC_BACK)
    {
            SDL_MinimizeWindow(window);

            SDL_Log("window minimized !\n");
    }

一切正常,我按下按钮时会收到日志消息,但窗口没有最小化

1 个答案:

答案 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);
    }
}

其中_thisSDL_VideoDevice *,在运行时设置为指向适当平台的SDL_VideoDeviceThe 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 */