如何在BlackBerry中修复垂直和纵向屏幕的对齐方式?

时间:2011-11-10 08:45:05

标签: blackberry

我想做即使屏幕改为纵向或横向也不会改变UI的应用程序。怎么做?

2 个答案:

答案 0 :(得分:8)

我在我的一个库类中创建了一个静态方法:

public static void disableOrientationChange()
{
    // force app to use only portrait mode
    int directions = Display.DIRECTION_NORTH;
    UiEngineInstance engineInstance = Ui.getUiEngineInstance();
    if (engineInstance != null)
    {
        engineInstance.setAcceptableDirections(directions);
    }
}

技巧是此代码仅适用于运行后创建的屏幕。因此,您必须在显示第一个屏幕之前运行代码。

我在调用Application.main(String args)之前,使用enterEventDispatcher()方法调用此方法。

public static void main(String[] args)
{
    MyApp app = new MyApp();

    /*
     * BlackBerry OS 5.0.0
     * Disable screen orientation changes
     */
    ScreenUtils.disableOrientationChange();

    // enters the event processing loop thread if required
    if (!app.isHandlingEvents())
    {
        app.enterEventDispatcher();
    }
}

答案 1 :(得分:1)

您可以使用此代码将方向设置为纵向。之后即使设备保持横向,方向也不会改变。

Ui.getUiEngineInstance().setAcceptableDirections(Display.DIRECTION_PORTRAIT);