Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
bpv_xquest
0 / 0 / 0
Регистрация: 24.12.2014
Сообщений: 5
#1

Активность восстанавливается в изнасилованном виде - Программирование Android

11.01.2015, 05:21. Просмотров 307. Ответов 2
Метки нет (Все метки)

В андроид-приложении, которое я делаю на досуге, активность всегда должна быть в ландшафтной ориентации. Чтобы этого добиться, я добавил соответствующий атрибут в файл манифеста:
XML
1
2
3
4
5
6
7
8
9
<activity android:name="com.pckg.MyProj"
        android:label="MyProject"
        android:screenOrientation="landscape"
        android:configChanges="orientation|screenSize|keyboard|keyboardHidden|navigation">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
Всё бы хорошо, но при блокировке и разблокировке аппарата возникает неожиданный эффект. Иногда активность восстанавливается нормально, но чаще всего получается вот что. Если до блокировки картинка выглядела как на первом фото, то после разблокировки получается как на втором.

Всё это выглядит так, как будто аппарат "просыпается" в портретной ориентации и соответствующим образом масштабирует картинку. Но потом он "вспоминает", что в файле манифеста портретная ориентация запрещена и пытается исправить ситуацию, просто повернув изображение на 90 градусов. В результате картинка оказывается сжатой и справа от неё остаётся пустой прямоугольник. Пробовал несколько разных девайсов. Эффект наблюдался на всех.

Буду очень признателен, если жители CyberForum помогут мне избавиться от этого чуда.
Миниатюры
Активность восстанавливается в изнасилованном виде   Активность восстанавливается в изнасилованном виде  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2015, 05:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Активность восстанавливается в изнасилованном виде (Программирование Android):

Не создается активность - Программирование Android
Создал первое приложение, запустил, экспортировал, все работает. Когда создаю второй но создается Активность, при создании Android...

Переход на другую активность - Программирование Android
Как правильно прописать переход на другую активность т.е. после нажатия на соц сети открывалась новая активность? public class...

Долго открывается активность - Программирование Android
Здравствуйте форумчане. В моем приложении открывается главная активность, все ок, по нажатию на картинку, которая представляет собой кнопку...

Удалить активность из стека - Программирование Android
Каким способом можно из стека 4 активностей удалить любую одну (к примеру 2-ую). Может каким то образом можно достучаться до стека и...

Не открывается активность с ListView - Программирование Android
Делаю модуль заметок. При открытии активности (activity) приложение считывает файл заметок и разбивает его на записи. При каждом разбитии...

Узнать запущена ли уже активность - Программирование Android
Как можно узнать запущена ли уже активность? нужно для того чтобы повторно предотвратить её запуск.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
11.01.2015, 07:04 #2
Попробуй на программном уровне это решить. При определенным событиях, проверяй ориентацию и если она не такая, ставь какую надо...
if(screenOrientation() != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
А события это onPause/onResume/onRestart etc, в частности onResume.
bpv_xquest
0 / 0 / 0
Регистрация: 24.12.2014
Сообщений: 5
13.01.2015, 18:46  [ТС] #3
Программное изменение ориентации не помогает, потому что
1) достаточно её 1 раз установить в манифесте;
2) с ориентацией было всё нормально.

Добавлено через 28 секунд
Вопрос решен. Ответ тут.

http://stackoverflow.com/questions/2...25883#27925883
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2015, 18:46
Привет! Вот еще темы с ответами:

Возврат на активность и проигрывание видео - Программирование Android
Добрый день уважаемые формучане... Есть две активности main и send В Main активности в onCreate проигрывается видео, оно зациклено на...

Как отследить активность активити? - Программирование Android
Извиняюсь за тафтологию :) Суть вопроса. Главное приложение запускает некое активити (например видеоплейер). Задача: отследить...

Переход с ListActivity на другую активность - Программирование Android
Ребят подскажите есть ListActivity в нем список, как сделать что бы при нажатию на определенные строки списка он переходил на другую...

Передача видимости в другую активность - Программирование Android
Допустим у меня на главном экране,есть некая невидимая кнопка,которую можно сделать видимой в настройках,как это реализовать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru