2011-11-11 6 views
5

Quiero que mi aplicación cambie las diferentes partes de la interfaz de usuario cuando la resolución es lo suficientemente grande y se encuentra en modo horizontal y detecta cambios mientras la aplicación está funcionando (rotación de pantalla en un dispositivo móvil, por ejemplo).GWT - Detecta diferentes resoluciones de pantalla mientras ejecutas

Sé que debería tener un evento para escuchar la resolución de la pantalla (que se puede obtener a través de javascript), pero no sé cómo hacerlo. ¿Cómo cuelgo un evento en un valor siempre refrescante?

Respuesta

6

¿Quieres Window.addResizeHandler requiere

Window.addResizeHandler(new ResizeHandler() { 

    @Override 
    public void onResize(ResizeEvent event) { 
     yourCustomLayoutAdjustmentMethod(event.getHeight(), event.getWidth()); 
    } 
}); 

No JavaScript!

5

con MGWT biblioteca (http://code.google.com/p/mgwt/):

importación de estas clases

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; 

definir un controlador de orientación

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; 

     } 
    } 
} 

añadir su manejador

MGWT.addOrientationChangeHandler(new MyOrientationChangeHandler()); 
+0

¡gran solución! – confile

Cuestiones relacionadas