Как повернуть содержимое приложения? - PullRequest
0 голосов
/ 12 сентября 2011

У меня уже есть хорошее понимание OrientationEventListener и определение ориентации экрана.Но как мне повернуть или отрегулировать фактический контент (кнопки, изображения, вкладки, любые объекты)?Прямо сейчас, когда пользователь поворачивает телефон, контент не перемещается и не вращается, и он отображается для пользователя.

ПРИМЕЧАНИЕ. Я использую Droid 2 для тестирования, и я заметил, что еслиЯ выдвигаю клавиатуру, экран вращается, что, на мой взгляд, немного странно.

Любая помощь очень ценится!

РЕДАКТИРОВАТЬ: Вот мой код:

OrientationEventListener ole = new OrientationEventListener(this) {

        @Override
        public void onOrientationChanged(int arg0) {
            TabHost ll = (TabHost) findViewById(android.R.id.tabhost);
            try {
            ll.forceLayout();
            } catch (NullPointerException e) {
                System.exit(0);
                e.printStackTrace();
            }
        }
    };
    ole.enable();

К сожалению, когда программа достигает ll.forceLayout (), она генерирует исключение NullPointerException и вызывает отключение системы.

РЕШЕНО: Мне пришлось отредактировать манифест так, чтобы android:screenOrientation="sensor".Спасибо за вашу помощь!

Ответы [ 3 ]

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

но я понятия не имею, как заставить андроид переключиться на второй вид когда экран вращается

Тебе не нужно это говорить. Если вы просто создадите папку layout-land в своем проекте, система будет знать, как извлечь файлы макета из этой папки, если устройство перейдет в альбомный режим.

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

Просто оставьте этот android: screenOrientation = "sensor" вне вашего манифеста. Это по умолчанию.

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

Попробуйте вызвать forceLayout () для вашего корневого представления в onOrientationChanged.

...