Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Maksim2309
45 / 45 / 2
Регистрация: 17.01.2013
Сообщений: 328
#1

Фрагменты - Программирование Android

03.05.2014, 16:48. Просмотров 498. Ответов 0
Метки нет (Все метки)

Всем привет. С htmlcleaner`ом разобрался появилась другая проблема. При переключении фрагментов добавил анимацию:
Bottom_up
XML
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="utf-8"?>
 <set xmlns:android="http://schemas.android.com/apk/res/android" > 
 
   <alpha  
     android:duration="@android:integer/config_mediumAnimTime"  
     android:fromAlpha="0.0"  
     android:interpolator="@android:anim/accelerate_interpolator"  
     android:toAlpha="1.0" />  
 
 </set>
Я в курсе что это не сдвиг вниз просто переделал а название менять не стал)))
И Bottom_down
XML
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="utf-8"?>
 <set xmlns:android="http://schemas.android.com/apk/res/android" > 
 
   <alpha  
     android:duration="@android:integer/config_mediumAnimTime"  
     android:fromAlpha="1.0"  
     android:interpolator="@android:anim/accelerate_interpolator"  
     android:toAlpha="0.0" />  
 
 </set>
Вот функция смены:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
...
rootView.setOnTouchListener(new View.OnTouchListener() {
                    @SuppressLint("Recycle")
                    public boolean onTouch(View v, MotionEvent touchevent) {
                        FragmentTransaction fTrans;
                        switch (touchevent.getAction())
                         {
                                // when user first touches the screen we get x and y coordinate
                                 case MotionEvent.ACTION_DOWN: 
                                 {
                                     y1 = touchevent.getY();
                                     break;
                                }
                                 case MotionEvent.ACTION_UP: 
                                 {
                                     y2 = touchevent.getY(); 
                                     // if UP to Down sweep event on screen
                                     if (y1 < y2) 
                                     {
                                         shetfrag++;
                                         if (shetfrag > 3) shetfrag = 3;
                                         fTrans = getFragmentManager().beginTransaction();
                                         fTrans.setCustomAnimations(R.layout.bottom_up, R.layout.bottom_down);
                                         switch(shetfrag)
                                         {
                                         case 1: fTrans.replace(R.id.fragment1, frag3);
                                                                        break;
                                         case 2: fTrans.replace(R.id.fragment1, frag2);
                                                                        break;
                                         case 3: fTrans.replace(R.id.fragment1, frag1);
                                                                        break;
                                         }
                                         fTrans.commit();
                                     }
                                    
                                     //if Down to UP sweep event on screen
                                     if (y1 > y2)
                                     {
                                         shetfrag--;
                                         if (shetfrag < 1) shetfrag = 1;
                                         fTrans = getFragmentManager().beginTransaction();
                                         fTrans.setCustomAnimations(R.layout.bottom_up, R.layout.bottom_down);
                                         switch(shetfrag)
                                         {
                                         case 3: fTrans.replace(R.id.fragment1, frag1);
                                                                        break;
                                         case 2: fTrans.replace(R.id.fragment1, frag2);
                                                                        break;
                                         case 1: fTrans.replace(R.id.fragment1, frag3);
                                                                        break;
                                         }
                                         fTrans.commit();
                                      }
                                     break;
                                 }
                         }
                        return true;
...
Все работает прекрасно, но при смене фрагментов проскакивает frag1 (т.е. появляется а потом выскакивает вызываемый фрагмент, например если меняю frag2 с frag3 то frag1 моргнет и потом появляется frag3) все перелопатил не нашел ошибку.
Вот инициализация:
Java
1
2
3
frag1 = new myclass1();
        frag2 = new myclass2();
        frag3 = new myclass3();
Заранее спасибо! Жду ответа (хотя бы наводку какую-нибудь)

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

Фрагменты и данные - Программирование Android
Добрый день, подскажите пожалуйста такую вещь, как можно передать из активити во фрагмент какой-то массив данных ну допустим...

Вложенные фрагменты - Программирование Android
Ребятушки, привет. У меня проблема с вложенными фрагментами. Мое приложение построено так: есть одно главное Activity, а также...

BackStack и Фрагменты - Программирование Android
Из активити запускаю Фрагмент А, из Фрагмента А запускаю фрагмент Б, из Фрагмента Б запускаю фрагмент В. Если добавлять каждый фрагмент в...

Фрагменты в Android - Программирование Android
Здравствуйте, появилась необходимость использования фрагментов, и тут возник вопрос: как использовать фрагмент несколько раз на одном...

Заменить Активити на Фрагменты - Программирование Android
Задумался над тем, чтобы заместо каждого Activity(у меня их 17 в приложении на данный момент) использовать фрагменты. Создать 1 главную...

Фрагменты наслаиваются друг на друга - Программирование Android
Добрый день. Не пойму почему фрагменты наслаиваются друг на друга В main активити в onCreate включается первый фрагмент, чтобы чтото...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2014, 16:48
Привет! Вот еще темы с ответами:

SlidingTab - фрагменты с RecycleView (ListView) - Программирование Android
Здравствуйте, уважаемые разработчики. Из мануала хочу сделать так, что бы на каждой странице были разные RecycleView или ListView (например...

Как листать фрагменты в ViewPager по кнопке? - Программирование Android
Доброго дня. Есть фрагменты, Листаемые в ViewPager'е. Помимо возможности перелистывания фрагментов жестами (и в шапке, во вкладках)...

Не могу разобраться, как подключать Фрагменты - Программирование Android
Решил научится использовать фрагменты, и сразу же наткнулся на проблему (Не могу понять как их подключать) Использовал готовый шаблон...

При смене ориентации экрана накладываются фрагменты - Программирование Android
Юзаю Android.Support.V4.App.Fragment, вроде бы все нормально. При переключении из меню фрагменты скрываю отправляя в &quot;стек&quot; а кликнутый...


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

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

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