我正在为 iPad Safari 开发 GWT 画布。当我旋转设备时,画布仍然是相同的大小。我不使用任何 CSS3,一切都在 JAVA 代码中设置(而且一切都是 setSize("100%","100%") )。有没有人遇到过这个问题?他们有什么解决方案吗?为什么会这样?
更新 经过几次测试,似乎每台设备都有问题。它不会在 android 设备甚至 PC 上调整大小(将屏幕旋转 90 度后)
我正在为 iPad Safari 开发 GWT 画布。当我旋转设备时,画布仍然是相同的大小。我不使用任何 CSS3,一切都在 JAVA 代码中设置(而且一切都是 setSize("100%","100%") )。有没有人遇到过这个问题?他们有什么解决方案吗?为什么会这样?
更新 经过几次测试,似乎每台设备都有问题。它不会在 android 设备甚至 PC 上调整大小(将屏幕旋转 90 度后)
我的项目示例
if(isIOS()) {
// for iOS
DOM.setElementAttribute(RootPanel.getBodyElement(), "onorientationchange", "updateOrientation();");
} else {
// for android
Window.addResizeHandler(this);
}
private final native void exportUpdateOrientationEvent() /*-{
$wnd.updateOrientation = @com.xxx.Client::updateOrientation();
}-*/;
public static void updateOrientation() {
int innerWidth = getWindowInnerWidth();
int innerHeight = getWindowInnerHeight();
// TODO canvas.setSize(innerWidth, innerHeight);
}
public static native int getWindowInnerWidth()/*-{
return $wnd.innerWidth;
}-*/;
public static native int getWindowInnerHeight()/*-{
return $wnd.innerHeight;
}-*/;
@Override
public void onResize(ResizeEvent event) {
updateOrientation();
}