#events #gwt
#Мероприятия #gwt
Вопрос:
Я хочу, чтобы мое приложение изменяло различные части пользовательского интерфейса, когда разрешение достаточно велико и находится в альбомном режиме, и обнаруживало изменения во время работы приложения (поворот экрана на мобильном устройстве, например).
Я знаю, что у меня должно быть событие, прослушивающее разрешение экрана (которое может быть получено с помощью javascript), но я не знаю, как это сделать. Как мне привязать событие к постоянно обновляющемуся значению?
Ответ №1:
Вы хотите Window.addResizeHandler
Window.addResizeHandler(new ResizeHandler() {
@Override
public void onResize(ResizeEvent event) {
yourCustomLayoutAdjustmentMethod(event.getHeight(), event.getWidth());
}
});
JavaScript не требуется!
Ответ №2:
с помощью библиотеки 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;
определите обработчик ориентации
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;
}
}
}
добавьте свой обработчик
MGWT.addOrientationChangeHandler(new MyOrientationChangeHandler ());