Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Maksim2309
45 / 45 / 15
Регистрация: 17.01.2013
Сообщений: 328
1

Фрагменты

03.05.2014, 16:48. Просмотров 521. Ответов 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
Здравствуйте, появилась необходимость использования фрагментов, и тут возник вопрос: как...

BackStack и Фрагменты
Из активити запускаю Фрагмент А, из Фрагмента А запускаю фрагмент Б, из Фрагмента Б запускаю...

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

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

Фрагменты или активити
Добрый вечер! подскажите что лучше использовать и в каких случаях. Я особо разницу не вижу между...

Bottom Navigation Activity и фрагменты
Добрый день, коллеги. Никто не поможет мне разобраться в небольшом вопросе взаимодействия...

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


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

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

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