开发者

Lock orientation on Storm

开发者 https://www.devze.com 2023-02-14 22:21 出处:网络
I need to lock my application in portrait mode on a Storm(and Strom 2) device. I use Ui.getUiEngineInstance().setAcceptableDirections(Display.DIRECTION_PORTRAIT); for this.

I need to lock my application in portrait mode on a Storm(and Strom 2) device. I use Ui.getUiEngineInstance().setAcceptableDirections(Display.DIRECTION_PORTRAIT); for this.

Here is the problem:

The screen direction only changes once the device is rotated to a direction supported by the provided direction parameter.

(source)

If the user has the device in landscape m开发者_如何学Goode and opens the application, the application will open in landscape and will only lock to portrait mode when/if the user rotates the device to portrait mode.

Is there any way to force the application in portrait mode even in the case I described above?


I have made a static method that I call from my application's main() method.

See the full code in my answer to this question: How to fix alignment for vertical and portrait screen in BlackBerry?


It can be solved by creating a custom class which extends MainScreen class which accepts the nextScreenObject as an argument in the constructor

and then by using

UiApplication.getUiApplication.pushModalScreen(nextScreenObj); //This would lock the screen

So whenever you push any screen create an object of this custom class and send the screen object as an argument to this constructor

Eg: Let NewCustomClass be your custom class which extends MainScreen then while pushing a new screen you can

NextScreen nextScreenObj = new NextScreen(..args..); NewCustomClass pushObj = new NewCustomClass(nextScreenObj);

Let me know if the problem is solved.

0

精彩评论

暂无评论...
验证码 换一张
取 消