2011-11-11 14 views
5

Chcę, aby moja aplikacja zmieniała różne części interfejsu, gdy rozdzielczość jest wystarczająco duża i jest w trybie poziomym, i wykrywa zmiany w trakcie działania aplikacji (obracanie ekranu na urządzeniu mobilnym, na przykład).GWT - Wykryj różne rozdzielczości ekranu podczas pracy

Wiem, że powinienem mieć wydarzenie słuchać rozdzielczości ekranu (które można uzyskać za pośrednictwem javascript), ale nie wiem jak to zrobić. Jak zawiesić wydarzenie na zawsze odświeżającej wartości?

Odpowiedz

6

Chcesz Window.addResizeHandler wymagane

Window.addResizeHandler(new ResizeHandler() { 

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

Nie JavaScript!

5

z MGWT biblioteki (http://code.google.com/p/mgwt/):

importu tych klas

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; 

określić procedurę obsługi orientacji

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; 

     } 
    } 
} 

dodać handler

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

świetne rozwiązanie! – confile

Powiązane problemy