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

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

Войти
Регистрация
Восстановить пароль
 
jenokizm
17 / 33 / 10
Регистрация: 27.03.2014
Сообщений: 645
#1

При смене ориентации экрана накладываются фрагменты - Программирование Android

08.08.2015, 11:16. Просмотров 545. Ответов 5
Метки нет (Все метки)

Юзаю Android.Support.V4.App.Fragment, вроде бы все нормально. При переключении из меню фрагменты скрываю отправляя в "стек" а кликнутый показываю.
Проблема в том что при перевороте устройства (смена ориентации) все что есть фрагменты налаживаются друг на друга((( при этом в коде все фрайгменты кроме выбранного по прежнему имеют fragment.IsVisible == false
Как с этим бороться? Кто сталкивался?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2015, 11:16     При смене ориентации экрана накладываются фрагменты
Посмотрите здесь:

Потеря вывода при смене ориентации экрана - Программирование Android
Калькулятор вывел результат в компонент textview. Стоит поменять ориентацию экрана и весь результат подсчета пропадает. :(

Не отображать SplashScreen при смене ориентации экрана - Программирование Android
Не могу понять как сделать чтобы сплэш не появлялся снова при смене ориентации экрана? + подскажите, почему при горизонтальной...

Задний фон при смене ориентации экрана - Программирование Android
Здравствуйте! Мне надо чтобы фон не сжимался так, а как в HTML оптимизировал под размер экрана... Заранее спасибо! (Приложение и картинка...

Выбрасывает из приложения при смене ориентации экрана - Программирование Android
Здравствуйте. Следующая проблема. Создал папку layout-land в папке res. И при добавлении туда вот этого файла xml: <LinearLayout...

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

Потеря потока при смене ориентации - Программирование Android
Здравствуйте! У меня приложения связывается по Bluetooth с другими устройствами. Всё работает хорошо. НО! Если перевернуть устройство и...

Обнуляется массив при смене ориентации устройства - Программирование Android
Здравствуйте. Суть такова. В активити создается массив из путей к изображениям, которые делаются при помощи камеры устройства. Потом...

Бесшовное проигрывание видео при смене ориентации - Программирование Android
Предложите пример или подскажите каким образом можно организовать бесшовное проигрывание видео при смене ориентации устройства?

Перезагрузка списка при смене ориентации приложения - Программирование Android
Приветствую. Имеется приложение построено на фрагментах . В приложении есть фрагмент с listview в который загружается информации из базы...

Android label меняет размер текста при смене ориентации - Программирование Android
Я заметил что текст названия приложения меняет свой размер при смене ориентации. Но в большинстве приложений нет такого. Где находится...

При смене ориентации на land программа "вылетает" - Программирование Android
программа в Android Studio. Из приложения вырезал практически все. 5 часов экспериментировал так и не понял из за чего.Единственное...

SurfaceView при изменении ориентации экрана перегружается - Программирование Android
при создании тетриса возник вопрос. один из моих классов расширяет класс SurfaceView public class TetrisView extends SurfaceView ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex1392
31 / 31 / 3
Регистрация: 24.07.2013
Сообщений: 187
08.08.2015, 13:21     При смене ориентации экрана накладываются фрагменты #2
Если честно то перечитал 5раз и не понял что у тебя не так и в чем проблема.... скрины в студию... пожалуйста, и более точное описание проблемы, можно с кусочками кода...
jenokizm
17 / 33 / 10
Регистрация: 27.03.2014
Сообщений: 645
09.08.2015, 11:25  [ТС]     При смене ориентации экрана накладываются фрагменты #3
Цитата Сообщение от jenokizm Посмотреть сообщение
Проблема в том что при перевороте устройства (смена ориентации) все что есть фрагменты налаживаются друг на друга
Не понимаю чего тут непоятного? Переворачиваю устройство и все накладывается слоями!
Положи на свой стол тетрадку а сверху ручку. Увидишь наложение, будет видна и ручка и тетрадка. вот это и будут фрагменты_)

Добавлено через 1 минуту
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mFragment1 = new Fragment1();
            mFragment2 = new Fragment2();
            mFragment3 = new Fragment3();
 
            mStackFragments = new Stack<SupportFragment>();
 
            var trans = SupportFragmentManager.BeginTransaction();
            trans.Add(Resource.Id.fragmentContainer, mFragment3, "Fragment3");
            trans.Hide(mFragment3);
 
            trans.Add(Resource.Id.fragmentContainer, mFragment2, "Fragment2");
            trans.Hide(mFragment2);
 
            trans.Add(Resource.Id.fragmentContainer, mFragment1, "Fragment1");
            trans.Commit();
 
            mCurrentFragment = mFragment1;
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private void ShowFragment (SupportFragment fragment)
        {
            if (fragment.IsVisible){
                return;
            }
 
            var trans = SupportFragmentManager.BeginTransaction();
 
            trans.SetCustomAnimations(Resource.Animation.slide_in, Resource.Animation.slide_out, Resource.Animation.slide_in, Resource.Animation.slide_out);
 
            fragment.View.BringToFront();
            mCurrentFragment.View.BringToFront();
 
            trans.Hide(mCurrentFragment);
            trans.Show(fragment);
 
            trans.AddToBackStack(null);
            mStackFragments.Push(mCurrentFragment);
            trans.Commit();
 
            mCurrentFragment = fragment;
        }
PaDyra
32 / 32 / 8
Регистрация: 06.01.2012
Сообщений: 142
10.08.2015, 09:28     При смене ориентации экрана накладываются фрагменты #4
При смене ориентации, изменяется рабочая область на устройстве, поэтому если хотите, чтобы ничего не налаживалось при смене ориентации, необходимо отдельно создавать файл ресурса для горизонтальной ориентации в папке layout-land. Я думаю вы этого не делали, поэтому и происходит наложение фрагментов.
jenokizm
17 / 33 / 10
Регистрация: 27.03.2014
Сообщений: 645
10.08.2015, 10:13  [ТС]     При смене ориентации экрана накладываются фрагменты #5
Цитата Сообщение от PaDyra Посмотреть сообщение
необходимо отдельно создавать файл ресурса для горизонтальной ориентации в папке layout-land
А ничего что у меня там такая же верстка будет? Поможет?
пс не вижу в этом смысла, у меня в динамике все создается и рассчитывается под экран. Все выглядит хорошо если бы не накладывались( *у меня крособразная верстка так сказать)
jenokizm
17 / 33 / 10
Регистрация: 27.03.2014
Сообщений: 645
11.08.2015, 11:08  [ТС]     При смене ориентации экрана накладываются фрагменты #6
Вопрос решен. Оказывается при перевороте он Креате заного все создавал а старое не удалял(
отключил пересоздание
C#
1
ConfigurationChanges = Android.Content.PM.ConfigChanges.ScreenSize | Android.Content.PM.ConfigChanges.Orientation
а там где надо пересоздал сам
C#
1
2
3
4
5
public override void OnConfigurationChanged(Android.Content.Res.Configuration newConfig)
        {
            base.OnConfigurationChanged(newConfig);
            //тут пересоздание вью
        }
Yandex
Объявления
11.08.2015, 11:08     При смене ориентации экрана накладываются фрагменты
Ответ Создать тему
Опции темы

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