Android любой ориентации XML макет - PullRequest
2 голосов
/ 01 декабря 2011

Здравствуйте. Я пытаюсь сделать свой макет совместимым со всеми типами экрана ориентации (альбомная / книжная). Для этого я использую layout-land и layout-port.

Это работает для устройств, которые имеют только 2 положения ориентации (альбомная и книжная), но не работают, если я поворачиваю устройство, которое поддерживает 4 положения ориентации (земля влево / вправо, порт вверх дном / вверх) Работает только в положении по умолчанию, но если я поверну устройство в другом альбомном положении, Android выберет макеты layout-port вместо layout-land.

Как я могу решить эту проблему в XML? Или единственное решение - управлять изменениями ориентации?

Ответы [ 4 ]

0 голосов
/ 02 декабря 2011

Кажется, что компоновка земли работает .. проблема была в том, что я справился с изменением ориентации самостоятельно и выбрал только 2 типа ориентации ..

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

Спасибо за ваши ответы, хотя

0 голосов
/ 01 декабря 2011

Вы не можете сделать это, используя XML. Вы должны делать программно. Для обнаружения изменения ориентации вы можете использовать OrientationEventListener

0 голосов
/ 01 декабря 2011

Ваш targetSDK должен быть 2.2 (когда были введены ориентации reverseLandscape и reversePortrait ... почти наверняка это было в 2.2), и ваше устройство должно поддерживать эти ориентации. Например, Sony Tablet S не будет переходить в обратный ландшафт, но будет делать обратный портрет

0 голосов
/ 01 декабря 2011

Здесь вы заметите, что я просто слушаю сцену для события StageOrientationEvent.ORIENTATION_CHANGE.Когда событие происходит, есть пять возможных ориентаций, в которых может быть сцена: по умолчанию, повернут влево, повернут вправо, вверх ногами и неизвестно.

...