Как я могу изменить макет при изменении ориентации - PullRequest
3 голосов
/ 28 сентября 2011

Я хочу изменить свой графический экран BlackBerry Когда я перехожу из портретного в ландшафтный режим.

protected void sublayout(int width, int height) {
    // TODO Auto-generated method stub

    if(Display.getOrientation()==Display.DIRECTION_PORTRAIT)
    {
        label.setText("Portrait");
    }
    else
    {
        label.setText("Landscape");
    }

    super.sublayout(width, height);
}

любая помощь будет оценена

Ответы [ 2 ]

2 голосов
/ 28 сентября 2011

Переопределить подслой на вашем экране, это вызывается всякий раз, когда изменяется ориентация, чтобы вы могли использовать его для добавления / удаления / изменения полей.

Вы также можете использовать Display.getOrientation () для проверки текущей ориентации.Вы также должны отслеживать предыдущую ориентацию в вашем приложении в случае, если sublayout был вызван по другой причине.

0 голосов
/ 28 сентября 2011

Вам нужно справиться с этим вручную.Всякий раз, когда в blackberry меняется ориентация, вызывается метод subLayout ().Там вы можете вызвать метод invalidate, который обновит ваш экран.Но убедитесь, что вы используете относительное расположение вместо абсолютных.Он автоматически упорядочит элементы интерфейса на вашем экране.

...