| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Android > Отключение проверки на положение экрана |
| Автор: Взюх 15.9.2011, 15:31 |
| Всем привет, такая задача, я определяю что больше высота или ширина экрана и исходя из этого поворачиваю его нужным образом но дальше нужно что б это положение экрана не менялось, то есть, как бы уже пользователь не повернул аппарат, экран не должен уже на это реагировать. Подскажите как можно отключить проверку на положение экрана. |
| Автор: Чемодан 15.9.2011, 16:01 | ||||
| Проще всего - в AndroidManifest.xml (на каждую активити) ...
... сделать так ...
... или portrait вместо landscape. Это чтобы ничего не проверять и код не городить. Если нужно одно положение за весь цикл программы, вот решение. |
| Автор: Vse3D 15.9.2011, 16:18 |
| а можно задать на разные приложения включение выключение автоповорота? |
| Автор: Чемодан 15.9.2011, 16:22 |
| Ну так убери строчку android:screenOrientation="landscape", как по умолчанию, и будет тебе автоповорот, хоть на всю программу, хоть на определенный его активити ) На разные приложения и так разные конфиги делаешь. Я надеюсь, что мы друг друга правильно поняли. (*минуту спустя) Я только сейчас понял - тебе нужна в программе кнопка, которая будет выключать/выключать автоповорот? |
| Автор: Взюх 15.9.2011, 17:28 |
| Я немного не понял что ты имел введу. Вероятно я не совсем ясно описал свою беду. Когда программа только запускается, метод определяет как нужно повернуть экран, потом происходит перезагрузка активити ( с нужным положением экрана ) и все в порядке, все работает, но если повернуть экран еще раз, то активити еще раз перегружается ( что нужно предотвратить ). Вот и появилась мысль что нужно как отключить проверку ( не моего метода ) как нужно повернуть экран. |
| Автор: spyswamp 15.9.2011, 18:37 |
| Соседние темы глянь про ориентацию экрана - на мысли натолкнет, я уверен. |
| Автор: Взюх 16.9.2011, 12:57 |
| оказывается, если запускать приложение на телефоне то независимо от того как он повернут, всегда будет сохранятся то положение экрана которое было заданно, ( метод onCreadte () ) срабатывает только 1 раз при запуске приложения. если запустить приложение на эмуляторе, то метод onCreate() будет срабатывать каждый раз когда эмулятор поворачивают. то есть в реальности у меня все было правильно и работало, просто надо было испытывать на телефоне а не на эмуляторе. Всем спасибо за ответы |
| Автор: DroidC3PO 11.10.2011, 20:16 |
| Тоже самое как указал Чемодан в коде setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); // Field descriptor #10 I public static final int SCREEN_ORIENTATION_UNSPECIFIED = -1; // Field descriptor #10 I public static final int SCREEN_ORIENTATION_LANDSCAPE = 0; // Field descriptor #10 I public static final int SCREEN_ORIENTATION_PORTRAIT = 1; // Field descriptor #10 I public static final int SCREEN_ORIENTATION_USER = 2; // Field descriptor #10 I public static final int SCREEN_ORIENTATION_BEHIND = 3; // Field descriptor #10 I public static final int SCREEN_ORIENTATION_SENSOR = 4; // Field descriptor #10 I public static final int SCREEN_ORIENTATION_NOSENSOR = 5; |
| Автор: ivanovpv 12.10.2011, 07:23 | ||
Способов масса, самый простой вызвать:
Отключает сенсор ориентации экрана - соответственно как ни крути экран поворачиваться после этого не будет |
| Автор: donnibras 12.10.2011, 10:28 |
| Мой друг долбался с этим неделю, вот он обрадуется когда я ему дам ссылочку на эту страничку! |