Как реализовать альбомную ориентацию в приложении, если устройство не поддерживает ее по умолчанию - PullRequest
0 голосов
/ 10 апреля 2011

У меня есть устройство nokia 2323c, и я хочу отобразить свое приложение в альбомном режиме.

Я пытался добавить Nokia-MIDlet-App-Orientation: landscape в JAD, но у меня это не работает.

Можно ли это сделать?

Спасибо.

1 Ответ

1 голос
/ 11 апреля 2011

Эта телефонная трубка выглядит как обычный телефон в стиле моноблока, который ни один пользователь обычно не использовал бы в ландшафтном режиме ...

Могу поспорить, что у него не будет датчика, который обнаружит и сообщит вам, когда пользователь переключил устройство в альбомный режим.

Но если предположить, что это не то, что вам нужно, и вы просто хотите рисовать все в ландшафтном режиме по умолчанию, да, вы можете сделать это ... если ваше приложение использует пользовательский интерфейс на основе Canvas, а не на основе форм. *

Вам нужно обернуть функции рисования графики своими собственными. Например, drawRect(x, y, w, h), чтобы эта работа работала в ландшафтном режиме, вы бы реализовали ее примерно так:

void drawRectLandscape(Canvas c, Graphics g, int x, int y, int w, int h) {
    int newX = c.getWidth() - y - h;
    int newY = x;
    int newW = h;
    int newH = w;
    g.drawRect(newX, newY, newW, newH);
}

Вам также необходимо использовать функции рисования текста класса Sprite.

...