Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
bpv_xquest
0 / 0 / 1
Регистрация: 24.12.2014
Сообщений: 5
#1

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

11.01.2015, 05:21. Просмотров 331. Ответов 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 помогут мне избавиться от этого чуда.
0
Миниатюры
Активность восстанавливается в изнасилованном виде   Активность восстанавливается в изнасилованном виде  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2015, 05:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Активность восстанавливается в изнасилованном виде (Программирование Android):

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

Вылетает Активность
Здравствуйте. Я начинающий андроид-разработчик. У меня следующая проблема: из...

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

Переход на другую активность
Как правильно прописать переход на другую активность т.е. после нажатия на соц...

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

Удалить активность из стека
Каким способом можно из стека 4 активностей удалить любую одну (к примеру...

2
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.
0
bpv_xquest
0 / 0 / 1
Регистрация: 24.12.2014
Сообщений: 5
13.01.2015, 18:46  [ТС] #3
Программное изменение ориентации не помогает, потому что
1) достаточно её 1 раз установить в манифесте;
2) с ориентацией было всё нормально.

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

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

Как отследить активность активити?
Извиняюсь за тафтологию :) Суть вопроса. Главное приложение запускает некое...

Передача видимости в другую активность
Допустим у меня на главном экране,есть некая невидимая кнопка,которую можно...

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

Возврат на активность и проигрывание видео
Добрый день уважаемые формучане... Есть две активности main и send В Main...


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

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

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