GWT - 运行时检测不同的屏幕分辨率

Ine*_*eze 5 events gwt

我希望我的应用程序在分辨率足够大且处于横向模式时更改UI的不同部分,并在应用程序运行时检测更改(例如,在移动设备上进行屏幕旋转).

我知道我应该有一个事件听屏幕分辨率(可以通过javascript获得),但我不知道如何做到这一点.如何将事件挂起始终刷新的值?

Ril*_*ark 6

你要 Window.addResizeHandler

Window.addResizeHandler(new ResizeHandler() {

    @Override
    public void onResize(ResizeEvent event) {
        yourCustomLayoutAdjustmentMethod(event.getHeight(), event.getWidth());
    }
});
Run Code Online (Sandbox Code Playgroud)

无需JavaScript!


STB*_*and 5

使用MGWT库(http://code.google.com/p/mgwt/):

导入这些类

import com.googlecode.mgwt.dom.client.event.orientation.OrientationChangeEvent;
import com.googlecode.mgwt.dom.client.event.orientation.OrientationChangeEvent.ORIENTATION;
import com.googlecode.mgwt.dom.client.event.orientation.OrientationChangeHandler;
import com.googlecode.mgwt.ui.client.MGWT;
Run Code Online (Sandbox Code Playgroud)

定义方向处理程序

class MyOrientationChangeHandler implements OrientationChangeHandler {
    @Override
    public void onOrientationChanged(OrientationChangeEvent event) {
        switch (event.getOrientation()) {
            case LANDSCAPE:
                // handle landscape orientation
                return;
            case PORTRAIT:
                // handle portrait orientation
                return;

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

添加处理程序

MGWT.addOrientationChangeHandler(new MyOrientationChangeHandler ());
Run Code Online (Sandbox Code Playgroud)