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

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

Войти
Регистрация
Восстановить пароль
 
ZzEeKkAa
0 / 0 / 0
Регистрация: 22.10.2014
Сообщений: 3
#1

Вложенный HorizontalScrollView в ScrollView с общим свайпом - Android

22.10.2014, 19:49. Просмотров 491. Ответов 1
Метки нет (Все метки)

Есть вложенный HorizontalScrollView в ScrollView. В общем суть проблемы - если начать скролить по горизонтали, то двигая палец вверх/вниз не отрывая от экрана ничего не происходит. Аналогично если начать скролить по вертикали, то двигая палец вправо/влево не отрывая от экрана ничего не происходит. Вопрос - как сделать чтоб скрол работал одновременно в двух элементах (по горизонтали и вертикали не поднимая палец)? Если никак - то вопрос следующий - как это обойти. Задача вполне тривиальная, но ответа в интернете не нашел
Миниатюры
Вложенный HorizontalScrollView в ScrollView с общим свайпом  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2014, 19:49     Вложенный HorizontalScrollView в ScrollView с общим свайпом
Посмотрите здесь:

Android Увеличить изображение из HorizontalScrollView
Промотать ScrollView Android
Android WebView. Навигация свайпом
ScrollView в Android 4.0.x Android
Android Listview and scrollview
Android Навигация свайпом. ListView
LinerLayout не полностью заполняет HorizontalScrollView при ширине и длине "match_parent" Android
Android Вытаскивание картинки свайпом
Android Наложение на ScrollView
ScrollView Android
ScrollView Android
Анимация следующая за свайпом Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ZzEeKkAa
0 / 0 / 0
Регистрация: 22.10.2014
Сообщений: 3
22.10.2014, 21:43  [ТС]     Вложенный HorizontalScrollView в ScrollView с общим свайпом #2
Решение нашел(взял отсюда):
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
        final HorizontalScrollView hScroll = (HorizontalScrollView) findViewById(R.id.myHsView);
        final ScrollView vScroll = (ScrollView) findViewById(R.id.scroll);
 
        hScroll.requestDisallowInterceptTouchEvent(true);
        vScroll.setOnTouchListener(new View.OnTouchListener() { //outer scroll listener
            private float mx, my, curX, curY;
            private boolean started = false;
 
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                curX = event.getX();
                curY = event.getY();
                int dx = (int) (mx - curX);
                int dy = (int) (my - curY);
                switch (event.getAction()) {
                    case MotionEvent.ACTION_MOVE:
                        if (started) {
                            vScroll.scrollBy(0, dy);
                            hScroll.scrollBy(dx, 0);
                        } else {
                            started = true;
                        }
                        mx = curX;
                        my = curY;
                        break;
                    case MotionEvent.ACTION_UP:
                        vScroll.scrollBy(0, dy);
                        hScroll.scrollBy(dx, 0);
                        started = false;
                        break;
                }
                return true;
            }
        });
Если начинать свайпать по вертикали то по горизонтали тоже работет. Обратное в принципе можно допилить.

Но все же интересует есть ли более изящное решение проблемы? (Как по мне это сильно ресурсоемкое...)
Yandex
Объявления
22.10.2014, 21:43     Вложенный HorizontalScrollView в ScrollView с общим свайпом
Ответ Создать тему
Опции темы

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