Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
jenokizm
21 / 37 / 14
Регистрация: 27.03.2014
Сообщений: 754
1

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

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

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

Не отображать SplashScreen при смене ориентации экрана
Не могу понять как сделать чтобы сплэш не появлялся снова при смене ориентации...

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

Блокировка навигации при смене ориентации экрана
Доброго времени суток.Прошу помощи у знающих: Приложение использует Navigation...

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

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

5
alex1392
31 / 31 / 4
Регистрация: 24.07.2013
Сообщений: 187
08.08.2015, 13:21 2
Если честно то перечитал 5раз и не понял что у тебя не так и в чем проблема.... скрины в студию... пожалуйста, и более точное описание проблемы, можно с кусочками кода...
0
jenokizm
21 / 37 / 14
Регистрация: 27.03.2014
Сообщений: 754
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;
        }
0
PaDyra
32 / 32 / 25
Регистрация: 06.01.2012
Сообщений: 142
10.08.2015, 09:28 4
При смене ориентации, изменяется рабочая область на устройстве, поэтому если хотите, чтобы ничего не налаживалось при смене ориентации, необходимо отдельно создавать файл ресурса для горизонтальной ориентации в папке layout-land. Я думаю вы этого не делали, поэтому и происходит наложение фрагментов.
0
jenokizm
21 / 37 / 14
Регистрация: 27.03.2014
Сообщений: 754
10.08.2015, 10:13  [ТС] 5
Цитата Сообщение от PaDyra Посмотреть сообщение
необходимо отдельно создавать файл ресурса для горизонтальной ориентации в папке layout-land
А ничего что у меня там такая же верстка будет? Поможет?
пс не вижу в этом смысла, у меня в динамике все создается и рассчитывается под экран. Все выглядит хорошо если бы не накладывались( *у меня крособразная верстка так сказать)
0
jenokizm
21 / 37 / 14
Регистрация: 27.03.2014
Сообщений: 754
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);
            //тут пересоздание вью
        }
0
11.08.2015, 11:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2015, 11:08

Потеря потока при смене ориентации
Здравствуйте! У меня приложения связывается по Bluetooth с другими...

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

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


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

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

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