Slide-Effekt bei BlackBerry-Apps

von Manuel Breitfeld

Beim Gebrauch von Apps, sei es für BlackBerrys, Androids oder iPhones, fällt stets auf, dass bei der Interaktion mit dem Benutzer auf ähnliche Effekte gesetzt wird. So fährt beispielsweise bei einem Klick auf Menüpunkte oder Links meist der neue Inhalt von rechts in den Bildschirm ein.

Bei der Entwicklung von BlackBerry-Apps ist ein solcher Effekt einfach zu implementieren. Die entsprechenden Begriffe in der BlackBerry-App-Welt lauten hierbei:
- Screen: Ein Screen enthält den Inhalt, der auf dem Bildschirm angezeigt wird. So kann es etwa einen Login-Screen und einen Home-Screen geben.
- TransitionContext: Der TransitionContext beschreibt, wie von einem Screen zum nächsten gewechselt wird. Screens können beispielsweise von einer Richtung außerhalb des Bildschirms in den Bildschirm fahren (slide) oder der neue Screen kann über dem alten eingeblendet werden (fade). Weitere Effekte heißen wipe und zoom.

Die folgende Methode beschreibt, wie beim Klick auf den Login-Button der neue Home-Screen eingeblendet wird. Die Dauer ist mit 500 ms angegeben.

public void fieldChanged(Field field, int context) {
 if (field instanceof LoginButton) {
  // Get UI engine for transition effetcs
  UiEngineInstance engine = Ui.getUiEngineInstance();
  
  // Init new home screen
  homeScreen = new HomeScreen();
                         
  // Specify and set transition context for sliding in
  TransitionContext transitionContextIn = new TransitionContext(TransitionContext.TRANSITION_SLIDE);
  transitionContextIn.setIntAttribute(TransitionContext.ATTR_DURATION, 500);
  transitionContextIn.setIntAttribute(TransitionContext.ATTR_DIRECTION, TransitionContext.DIRECTION_LEFT);
  engine.setTransition(null, homeScreen, UiEngineInstance.TRIGGER_PUSH, transitionContextIn);
  
  // Specify and set transition context for sliding out
  TransitionContext transitionContextOut = new TransitionContext(TransitionContext.TRANSITION_SLIDE);
  transitionContextOut.setIntAttribute(TransitionContext.ATTR_DURATION, 500);
  transitionContextOut.setIntAttribute(TransitionContext.ATTR_DIRECTION, TransitionContext.DIRECTION_RIGHT);                                                            
  transitionContextOut.setIntAttribute(TransitionContext.ATTR_KIND, TransitionContext.KIND_OUT);
  engine.setTransition(homeScreen, null, UiEngineInstance.TRIGGER_POP, transitionContextOut);
  
  // Push home screen on stack
  synchronized(UiApplication.getEventLock())
  {
   UiApplication.getUiApplication().pushScreen(homeScreen);                       
  }          
 }
}
Da diese Effekte häufiger benutzt werden und dabei immer einheitlich aussehen sollten, bietet es sich an, die Erstellung des "Transition Contexts" in eine kleine Helper-Klasse auszugliedern.

Zurück

© 2006-2024 exensio GmbH
Einstellungen gespeichert
Datenschutzeinstellungen

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell, während andere uns helfen, diese Website und Ihre Erfahrung zu verbessern.

Sie können Ihre Einwilligung jederzeit ändern oder widerrufen, indem Sie auf den Link in der Datenschutzerklärung klicken.

Zu den gesetzlichen Rechenschaftspflichten gehört die Einwilligung (Opt-In) zu protokollieren und archivieren. Aus diesem Grund wird Ihre Opt-In Entscheidung in eine LOG-Datei geschrieben. In dieser Datei werden folgende Daten gespeichert:

 

  • IP-Adresse des Besuchers
  • Vom Besucher gewählte Datenschutzeinstellung (Privacy Level)
  • Datum und Zeit des Speicherns
  • Domain
You are using an outdated browser. The website may not be displayed correctly. Close