Android - Как иметь смешанные вкладки ориентации?(некоторые вкладки портрет, другие пейзаж) - PullRequest
2 голосов
/ 15 июля 2011

Я создал приложение с несколькими вкладками, каждая со своим макетом. Я отключил реакцию на акселерометр, чтобы приложение оставалось в портретном режиме (android: screenOrientation = "Portrait").

Две вкладки спроектированы в портретном режиме, а одна вкладка спроектирована в альбомной ориентации. Мне нужно воспользоваться тем, что экран шире, чем высоко в ландшафте, чтобы отобразить мини-таблицу.

Вот мой вопрос: как расположить одну из вкладок в альбомной ориентации, оставив две другие в портретном режиме?

Есть предложения?

Ответы [ 3 ]

3 голосов
/ 15 июля 2011

Для программного изменения ориентации используйте setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); или setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) ;. В этом случае каждое событие нажатия на вкладку может быть привязано к соответствующей ориентации

источник: http://russenreaktor.wordpress.com/2010/01/03/solved-set-screen-orientation-programmatically/

2 голосов
/ 17 июля 2011

Я нашел решение за пределами набора вкладок.Следующая ссылка обсуждает несколько решений для отображения текста Vertical :

Вертикальная (повернутая) метка в Android

Я пошел с «CustomTextView» от PocketMagicкоторый можно найти здесь: http://www.pocketmagic.net/?p=1625

С возможностью отображения вертикального текста я могу держать весь набор вкладок заблокированным в портретном режиме.

Спасибо за предложения всем.

-cc

1 голос
/ 21 ноября 2011

не уверен, что вы уже получили ответ, но я искал 30 минут и нашел решение аналогичной проблемы.Надеюсь, это поможет.

Я использую tabhost и хочу, чтобы 3 из 4 вкладок могли вращаться, а 1 вкладка была установлена ​​только в портретном режиме.Ранее (до применения этого исправления) 3 вкладки вращались до тех пор, пока не была выбрана вкладка фиксированного портрета, затем все они застряли в портретном режиме.

Мне пришлось настроить другие вкладки для использования ориентации ПОЛЬЗОВАТЕЛЯ, чтобы исправить это.т.е. добавил setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER); в onResume других 3 вкладок, и теперь он работает именно так, как я и планировал.3 вкладки теперь будут вращаться в зависимости от ориентации устройства пользователя, а 1 вкладка имеет фиксированный портрет.:)

...