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

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

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

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

11.01.2015, 05:21. Просмотров 294. Ответов 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
Android Переход с ListActivity на другую активность
Android Переход на другую активность
Узнать запущена ли уже активность Android
Не создается активность Android
Android Долго открывается активность
Удалить активность из стека Android
Передача видимости в другую активность Android
Android Сменил стартовую активность, не отображаются view-шки

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Yandex
Объявления
13.01.2015, 18:46     Активность восстанавливается в изнасилованном виде
Ответ Создать тему
Опции темы

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