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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,644
Записей в блоге: 3
#1

ScrollView в Android 4.0.x - Программирование Android

22.06.2014, 18:54. Просмотров 1102. Ответов 8
Метки нет (Все метки)

имею HorizontalScrollView а в нем ScrollView, при прокрутки вниз если уклонится чуток вправо влево перестает скрол по вертикале (вроде тока 4.0.х так) в 4.1.х вроде норм.. если начал скролить вниз то влево-вправо уже не пойдет

как это можно решить ?

Добавлено через 9 часов 4 минуты
не кто не сталкивался ?

вот я нашел след. код (но это не совсем то что мне нужно ?)

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
HorizontalScrollView hv = (HorizontalScrollView)findViewById(R.id.myHsView);  // your HorizontalScrollView inside scrollview
    hv.setOnTouchListener(new ListView.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                int action = event.getAction();
                switch (action) {
                case MotionEvent.ACTION_DOWN:
                    // Disallow ScrollView to intercept touch events.
                    v.getParent().requestDisallowInterceptTouchEvent(true);
                    break;
 
                case MotionEvent.ACTION_UP:
                    // Allow ScrollView to intercept touch events.
                    v.getParent().requestDisallowInterceptTouchEvent(false);
                    break;
                }
 
                // Handle HorizontalScrollView touch events.
                v.onTouchEvent(event);
                return true;
            }
        });


Добавлено через 20 часов 17 минут
Актуально!

Ребята не каких соображений нету что ли? куда копать то?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2014, 18:54     ScrollView в Android 4.0.x
Посмотрите здесь:

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

Данные в ScrollView по середине - Программирование Android
Всем привет у меня возникла проблема размещения данных в ScrollView по середине. Дело в том что когда размещаешь данные по середине в...

Автоматическая прокрутка ScrollView - Программирование Android
Имеется ScrollView, а внутри него LinearLayout, в котором находятся кнопки. Как сделать так, чтобы на тех экранах, где прокрутка нужна,...

IsSelectable textview in ScrollView - Программирование Android
Как понятно из названия темы, у меня хватило ума втулить isSelectable textview в ScrollView. Проблема в следующем, при клике на textview (к...

Задать ScrollView программно - Программирование Android
Здраствуйте! Как сделать ScrollView с элементом LinearLayout программно? Делаю одно, не работает другое... ScrollView scroll = new...

ScrollView - добавление прокрутки - Программирование Android
Всем добра... Возникла проблема с ScrollView :-| Код разметки: <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...

Синхронное прокручивание scrollView - Программирование Android
Есть ли возможность создания двух scrollView, чтобы при прокручивании первого, прокручивался второй? И соответственно, наоборот. Спасибо.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,644
Записей в блоге: 3
27.06.2014, 11:53  [ТС]     ScrollView в Android 4.0.x #2
..АП..
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,644
Записей в блоге: 3
29.06.2014, 16:38  [ТС]     ScrollView в Android 4.0.x #3
Не кто не знает ? у всех кроме меня все норм работает ? РЕБяяяЯТА нууу хелп ми :\

Добавлено через 14 часов 48 минут
Долго искал!. спасибо что не кто не помог! вот решение моего вопроса

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
final HorizontalScrollView hScroll = (HorizontalScrollView) value.findViewById(R.id.scrollHorizontal);
    final ScrollView vScroll = (ScrollView) value.findViewById(R.id.scrollVertical);
    vScroll.setOnTouchListener(new View.OnTouchListener() { //inner scroll listener         
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return false;
        }
    });
    hScroll.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;
        }
    });
Добавлено через 18 минут
все равно конечно что то не то .. так как
Java
1
2
vScroll.scrollBy(0, dy);
hScroll.scrollBy(dx, 0);
по инерции как сделать ? так чтобы скролился не до dy и dx а по инерции (как обычно)
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,644
Записей в блоге: 3
01.07.2014, 14:53  [ТС]     ScrollView в Android 4.0.x #4
Админы можете галочку поставить!

Вот то что я искал! Все ништяк! работает как часы!

создал новый класс
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
import android.content.Context;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ScrollView;
 
public class VerticalScrollView extends ScrollView {
 
 
public VerticalScrollView(Context context) {
super(context);
}
 
private float downXpos = 0;
private float downYpos = 0;
private boolean touchcaptured = false;
@Override
public boolean onTouchEvent(MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
downXpos = event.getX();
downYpos = event.getY();
touchcaptured = false;
break;
case MotionEvent.ACTION_UP:
requestDisallowInterceptTouchEvent(false);
break;
case MotionEvent.ACTION_MOVE:
float xdisplacement = Math.abs(event.getX() - downXpos);
float ydisplacement = Math.abs(event.getY() - downYpos);
if( !touchcaptured && xdisplacement < ydisplacement) {
requestDisallowInterceptTouchEvent(true);
touchcaptured = true;
}
break;
}
super.onTouchEvent(event);
return true;
}
}
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,644
Записей в блоге: 3
03.07.2014, 10:24  [ТС]     ScrollView в Android 4.0.x #5
Это получается баг ОС Android версии 4.0.x ?

т.к. в версии 4.0.х работало нормально! ))
MonStar
19 / 19 / 3
Регистрация: 10.04.2011
Сообщений: 225
06.07.2014, 01:38     ScrollView в Android 4.0.x #6
HorizontalScrollView а в нем ScrollView. Это принципиально неверно, так делать не рекомендуется, иначе возникает конфликт. Андроид не может понять какую вью вы скролите, советую пересмотреть интерфейс вашего приложения, если вам нужен подобный функционал.
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,644
Записей в блоге: 3
06.07.2014, 16:40  [ТС]     ScrollView в Android 4.0.x #7
MonStar, Почему то этот конфликт устранили в Jelly Bean,
Цитата Сообщение от MonStar Посмотреть сообщение
Это принципиально неверно
ну не знаю)) а если нужно именно так реализовать интерфейс ?

вот выше скинул класс наследник от ScrollView который без всяких конфликтов работает


P.S.
Цитата Сообщение от MonStar Посмотреть сообщение
иначе возникает конфликт.
я пробывал и наоборот ScrollView в горизонтальном сколвью, так вот, там тоже такая же хрень !))) но уже при скроле по горизонтале если отклоняешься вверх\вниз то скролл по горизонтале блокируется.... так что наверное неправильно утверждать что
Цитата Сообщение от MonStar Посмотреть сообщение
HorizontalScrollView а в нем ScrollView. Это принципиально неверно,
! ?
MonStar
19 / 19 / 3
Регистрация: 10.04.2011
Сообщений: 225
06.07.2014, 16:42     ScrollView в Android 4.0.x #8
Цитата Сообщение от kaspersky Посмотреть сообщение
я пробывал и наоборот ScrollView в горизонтальном сколвью, так вот, там тоже такая же хрень !))) но уже при скроле по горизонтале если отклоняешься вверх\вниз то скролл по горизонтале блокируется.... так что наверное неправильно утверждать что ! ?
Не важно, какой класс в какой будет вложен. В любом случае будет не верно и возникнет конфликт свайпов.
Ваш наследник - более правильное решение.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2014, 20:19     ScrollView в Android 4.0.x
Еще ссылки по теме:

ScrollView для изображений - Программирование Android
при загрузке картинок в ScrollView возникает следующая ситуация до 12 картинок все нормально а 13 картинку уже недьзя переполняется буфер...

ScrollView для Dialog - Программирование Android
Ребят столкнулся с проблемой при создании диалога с динамические элементами, не могу добавить в него Scrollview Спасибо заранее

ScrollView с динамическими представлениями - Программирование Android
Доброго времени суток! Есть scrollview, создаю его в xml. Нужно в нем разместить динамически несколько textview и button....

Узнать ширину ScrollView - Программирование Android
Всем привет!!! Разрабатываю приложение под Android 4.1 API 16. Не могу программно узнать ширину ScrollView. Использовал методы которые...

Отображение ScrollView в LinearLayout - Программирование Android
Привет всем! Вобщем, есть 3 Layout. Две из них не прокручиваются (1, 3) одна должна прокручиваться. ------------ Layout 1 ...


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

Или воспользуйтесь поиском по форуму:
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,644
Записей в блоге: 3
06.07.2014, 20:19  [ТС]     ScrollView в Android 4.0.x #9
MonStar, но ведь Google сами говорят что если требуется скролить туда сюда \ верх и вниз то нужно так и делать ?
Yandex
Объявления
06.07.2014, 20:19     ScrollView в Android 4.0.x
Ответ Создать тему
Опции темы

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