BlackBerry smartphones with accelerometer support, such as the touch screen BlackBerry® Storm™ Series, are capable of changing the display orientation between portrait and landscape mode, depending on how the BlackBerry smartphone is held.
It may be desirable for certain applications to limit the possible orientations. For example, a video player application may need to fix the display orientation to landscape mode.
The screen can be oriented in any of four possible directions: north, south, east and west.
To set the allowable screen orientations, MIDlets should use code similar to the following example, prior to calling Display.setCurrent()
from the MIDlet constructor.
DirectionControl dc =
DirectionControl)((Controllable)Display.getDisplay(this)).getControl("net.rim.device.api.lcdui.control.DirectionControl");
int directions = DirectionControl.DIRECTION_EAST | DirectionControl.WEST;
dc.setAcceptableScreenDirections(directions);
The above example forces the display into landscape mode.
Connected Limited Device Configuration (CLDC) applications should make the following call before any invocation of UiApplication.pushScreen()
.
int directions = net.rim.device.api.system.Display.DIRECTION_NORTH |
net.rim.device.api.system.Display.DIRECTION_SOUTH;
net.rim.device.api.ui.Ui.getUiEngineInstance().setAcceptableDirections(directions);
In the above example the display is forced into portrait mode once the BlackBerry smartphone user rotates the BlackBerry smartphone.