1

我正在为 iPad Safari 开发 GWT 画布。当我旋转设备时,画布仍然是相同的大小。我不使用任何 CSS3,一切都在 JAVA 代码中设置(而且一切都是 setSize("100%","100%") )。有没有人遇到过这个问题?他们有什么解决方案吗?为什么会这样?

更新 经过几次测试,似乎每台设备都有问题。它不会在 android 设备甚至 PC 上调整大小(将屏幕旋转 90 度后)

4

1 回答 1

0

我的项目示例

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();
}
于 2013-09-03T07:35:04.460 回答