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

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

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

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

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

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

Увеличить изображение из HorizontalScrollView - Программирование Android
Я загружаю изображения из сети, после их помещаю в ArrayList и из него эти изображения достаю и помещаю в LinerLoyout в горизонтальном...

Навигация свайпом. ListView - Программирование Android
Добрый день, хотел сделать приложение в котором есть на каждом экране отдельный ListView, свайпом можно переходить из экрана в экран, тапом...

Анимация следующая за свайпом - Программирование Android
Имеется 3 элемента RecyclerView: 1 слева(якобы за экраном), 1 в центре(видимый) и 1 справа(тоже за экраном). Требуется сделать так, чтобы...

WebView. Навигация свайпом - Программирование Android
Здравствуйте! Есть WebView, статьи в который подгружаются из res/raw (n1.txt - n...txt), одна статья - один файл. Как свайпом осуществить...

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

LinerLayout не полностью заполняет HorizontalScrollView при ширине и длине "match_parent" - Программирование Android
LinerLayout не полностью заполняет HorizontalScrollView при ширине и длине "match_parent" При том если расположить эту же конструкцию...

1
ZzEeKkAa
0 / 0 / 0
Регистрация: 22.10.2014
Сообщений: 3
22.10.2014, 21:43  [ТС] #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;
            }
        });
Если начинать свайпать по вертикали то по горизонтали тоже работет. Обратное в принципе можно допилить.

Но все же интересует есть ли более изящное решение проблемы? (Как по мне это сильно ресурсоемкое...)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2014, 21:43
Привет! Вот еще темы с ответами:

ScrollView - Программирование Android
Привет) Работаю со ScrollView у меня есть например 5 изображений, грубо говоря каждое отвечает за свой функционал, как при прокрутке мне...

ScrollView - Программирование Android
Добрый день! Работаю с обычным ScrollView. Получаю что-то типа: Подскажите пожалуйста, можно ли настроить ScrollView, чтобы получить...

Конец ScrollView - Программирование Android
Здравствуйте, уважаемые форумчане? Есть ли в ScrollView метод, который определяет, что ScrollView сейчас дошел до конца, или метод,...

Listview and scrollview - Программирование Android
Здравствуйте у меня такая проблема. есть LinearLayout в котором чередуется textview и динамический listview. Пролема в том что...


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

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

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