我切换全屏的功能:
public void toggleFullScreen() {
if(!Gdx.graphics.isFullscreen())
Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode());
else
Gdx.graphics.setWindowedMode(App.WIDTH, App.HEIGHT);
}
适用于桌面但不适用于移动设备,为什么?
不起作用,因为libgdx的HTML后端不支持该功能。可以改变,你应该打开一个问题或公关。
编辑:检查后端源代码后,我必须在SO上更改我的声明。该代码自2015年起位于后端,并且适用于除iOS以外的所有系统。
我最终用JsInterop从LibGDX调用了一个JavaScript函数。
JavaScript的
function toggleFullscreen() {
var canvas = document.getElementsByTagName("canvas")[0];
canvas.requestFullscreen();
}
Java的
@JsMethod(namespace = GLOBAL)
public static native void toggleFullscreen();
虽然Safari不支持Fullscreen API,但不适用于iOS。我将Canvas的宽度和高度设置为iOS的Viewport宽度和高度。