Lock orientation on Storm

橙三吉。 提交于 2019-12-08 05:42:23

问题


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 mode 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?


回答1:


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?




回答2:


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.



来源:https://stackoverflow.com/questions/5172327/lock-orientation-on-storm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!