Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 100, средняя оценка - 4.73
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
#1

Запрет поворота экрана после создания активити - Программирование Android

31.10.2012, 12:19. Просмотров 15012. Ответов 21
Метки нет (Все метки)

Как сделать сабж?
Если в onCreate вызываю :

setRequestedOrientation(
ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);

И если текущая ориентация не портрет - происходит повторный вызов onCreate, с другой ориентацией

Мне требуется запуск в ориентации behind, и блокировка изменения поворота.

Как это сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2012, 12:19
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Запрет поворота экрана после создания активити (Программирование Android):

Запрет поворота экрана
Здравствуйте. Как лучше всего запретить поворот экрана, но так, чтобы на планшетах он сразу был в альбомной ориентации, а на телефонах в...

После поворота экрана view формы пропадают
на главной активити в xml создано RadioGroup. на главной активити в методе onCreate есть такая строчка rGroup = (RadioGroup)...

После поворота TextView занимает столько же места как и до поворота
собственно как поворачивать средствами xml или в коде я знаю. Проблема в другом при повороте textview по горизонтали он занимает место как...

Запуск в ландшафтном режиме и запрет поворота. Как сделать?
Добрый день. Есть приложение с кучей активити. Что сделать, чтобы это приложение запускалось только в ландшафтном режиме и не реагировало...

Обработка поворота экрана. Сохранение введенной информации
В приложении имеется n полей для ввода текста. Как правильно сохранять их количество введенную в них информацию при повороте экрана? ...

Если поменять ориентацию экрана или SurfaceView перекроет другой активити, то приложение завершается аварийно
Здравствуйте уважаемые программисты! Недавно начал изучать проигрывание видео под android. Получилось вывести видео на экран при помощи...

21
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 12:56 #2
запретить до создания активити, то есть в манифесте.
0
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 13:02  [ТС] #3
Цитата Сообщение от V0v1k Посмотреть сообщение
запретить до создания активити, то есть в манифесте.
и что там написать?
портрет / ландшафт - не катит. нужен запуск в разных вариантах.
behind - запускается правильно, но потом начинает крутиться. (это надо запретить)
nosensor - запускается в портрете. не гуд.
sensor - ну запустится правильно. а потом все равно заблокировать надо. как?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 14:00 #4
нужно задать нужную ориентацию и в манифесте и в активити.
0
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 14:13  [ТС] #5
Как?
Мне нужная - behind
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 14:31 #6
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_BEHIND);
0
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 14:46  [ТС] #7
Цитата Сообщение от V0v1k Посмотреть сообщение
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_BEHIND);
Супер!!!

но я же уже писал:
behind - запускается правильно, но потом начинает крутиться. (это надо запретить)
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 15:53 #8
крутится несмотря на вызов setRequestedOrientation?
0
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 16:07  [ТС] #9
Цитата Сообщение от V0v1k Посмотреть сообщение
крутится несмотря на вызов setRequestedOrientation?
да, крутится

Вообще проблема в том, что приложение падает после нескольких поворотов.
в теме приложения указана тема с бекграундом (200кб).

<style name="MyTheme" parent="android:Theme.NoTitleBar">
<item name="android:windowBackground">@drawable/background</item>
</style>


и с некоторых пор (на 2.х - вроде работало, на 4.0 - падает) после нескольких поворотов приложение стало падать:

Out of memory on a 16384016-byte allocation.

вроде не очень много.
Если строку с бекграундом убрать - ничего не падает.
Для некоторых активити решил проблему созданием двух view, инициализуемых единожды. но для всех такой изврат лепить не хочется. как победить проблему памяти - не знаю. решил запретить вращение когда не попадя.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 16:22 #10
когда я задаю ориентацию в манифесте, у меня ниче не крутиться...

Добавлено через 57 секунд
Цитата Сообщение от Rebelx Посмотреть сообщение
как победить проблему памяти
использовать меньше памяти.
0
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 16:31  [ТС] #11
Цитата Сообщение от V0v1k Посмотреть сообщение
когда я задаю ориентацию в манифесте, у меня ниче не крутиться...

Добавлено через 57 секунд

использовать меньше памяти.
какую задаешь?

Добавлено через 2 минуты
Цитата Сообщение от Rebelx Посмотреть сообщение
использовать меньше памяти.
Как?
Весь код:
Java
1
2
3
4
5
6
7
8
9
    public void onCreate(Bundle paramBundle) {
        super.onCreate(paramBundle);
        
        setContentView(R.layout.rules);
        WebView localWebView = (WebView) findViewById(R.id.webViewRules);
        localWebView.setBackgroundColor(Color.TRANSPARENT);
        localWebView.loadUrl("file:///android_asset/rules/rules.html");
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_BEHIND);
    }
выпадает на setContentView(R.layout.rules);
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 16:47 #12
пробовал задавать только в манифесте behind, portrait, landscape. ниче не вращается.

Цитата Сообщение от Rebelx Посмотреть сообщение
выпадает на setContentView(R.layout.rules);
что выпадает?
setRequestedOrientation вроде нужно вызывать прежде setContentView.

Цитата Сообщение от Rebelx Посмотреть сообщение
Как?
не использовать то, что занимает много памяти. я так понимаю на фон ставишь тяжелую картинку.
0
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 17:16  [ТС] #13
Цитата Сообщение от V0v1k Посмотреть сообщение
не использовать то, что занимает много памяти. я так понимаю на фон ставишь тяжелую картинку.
200Кб. меньше уже никак. и так 32 цвета всего

Добавлено через 3 минуты
Цитата Сообщение от V0v1k Посмотреть сообщение
setRequestedOrientation вроде нужно вызывать прежде setContentView.
не важно. крутится

Добавлено через 19 минут
Цитата Сообщение от Rebelx Посмотреть сообщение
200Кб. меньше уже никак. и так 32 цвета всего
уменьшил до 100КБ - не изменилось
уменьшил до 200 байт - перестало падать. но такой фон не круто
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 17:17 #14
покеж как в манифесте задаешь ориентацию.

Добавлено через 40 секунд
Цитата Сообщение от Rebelx Посмотреть сообщение
уменьшил до 200 байт - перестало падать. но такой фон не круто
приглядись к другим ресурсам, может что-то другое занимает несколько мегабайт.
0
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 17:23  [ТС] #15
Цитата Сообщение от V0v1k Посмотреть сообщение
приглядись к другим ресурсам, может что-то другое занимает несколько мегабайт.
нет ничего больше
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >




<WebView
android:id="@+id/webViewRules"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:scrollbars="none" />

</LinearLayout>

но фон - во всех активити одинаковый. и все падают. если убрать фон - все не падают.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 17:36 #16
очень странно, лимит вроде 5мб если не память не подводит.
0
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
31.10.2012, 17:44  [ТС] #17
Цитата Сообщение от V0v1k Посмотреть сообщение
очень странно, лимит вроде 5мб если не память не подводит.
можно с этого места подробнее? где можно прочитать про это?
чет слишком мало. с учетом наличия памяти гигабайтами.

у меня на эмуляторе и раньше такая проблема была
на теле (SGN7000) - нет. проект был заморожен на несколько месяцев.
в процессе обновил тело до 4.0.
вернулся к проекту - работать на теле перестало.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 19:51 #18
это в каком именно девайсе RAM больше гигабайта?
не помню где читал, вот здесь есть инфа про лимит в 16/24 mb на апликейшен - http://blog.gorges.us/2010/07/develo...-memory-limit/
можете еще погуглить.
0
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
01.11.2012, 10:05  [ТС] #19
Цитата Сообщение от V0v1k Посмотреть сообщение
это в каком именно девайсе RAM больше гигабайта?
ну например:
http://market.yandex.ru/model-spec.xml?modelid=8440117&hid=91491
а у меня - первый, там один гиг
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.11.2012, 12:58 #20
один из первых в котором больше гига?)
0
01.11.2012, 12:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2012, 12:58
Привет! Вот еще темы с решениями:

Мигает активити после сплешскрина
Есть сплешскрин взятый с какого то сайта, он работает отлично public class SplashScreen extends Activity { private static String...

На телефоне highscreen 3 на всех активити происходит быстрый самовозврат к главной активити
Сделал меню в виде ListView. При клике на меню запускаются активити. На эмуляторе работает, на телефоне моем LG все работает. На телефоне...

Как вызвать метод в активити классе из обычного не активити класса?
Есть активити в котором вводятся логин и пароль. При нажатии кнопки &quot;войти&quot; в отдельном классе &quot;сокетсервер&quot;(+в отдельном потоке)...

Запрет выполнения onCreate при повороте экрана
Здравствуйте уважаемые специалисты! У меня такой вопрос: в моей игре есть вопросы и варианты ответов как в игре (кто хочет стать...


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

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

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