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

Помоегите разобраться с MultiTouch

24.12.2014, 08:49. Просмотров 350. Ответов 0
Метки нет (Все метки)

Пример кода из этой книги http://shop.oreilly.com/product/0636920023005.do
Касаюсь двумя пальцами - всё ок, нарисовало 2 линии.
После этого касаюсь одним пальцем - java.lang.IllegalArgumentException: pointerIndex out of range
Код:
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
public boolean onTouch(View v, MotionEvent event) {
        int action = event.getActionMasked();
        int idx;
        int n;
        switch (action) {
            case MotionEvent.ACTION_DOWN:
            case MotionEvent.ACTION_POINTER_DOWN:
                idx = MotionEventCompat.getActionIndex(event);
                tracks.add(event.getPointerId(idx));
                break;
            case MotionEvent.ACTION_POINTER_UP:
                idx = MotionEventCompat.getActionIndex(event);
                tracks.remove(event.getPointerId(idx));
                break;
            case MotionEvent.ACTION_MOVE:
                n = event.getHistorySize();
                for (Integer i : tracks) {
                    idx = event.findPointerIndex(i.intValue());
                    for (int j = 0; j < n; j++) {
                        addDot(
                                dots,
                                event.getHistoricalX(idx, j),
                                event.getHistoricalY(idx, j),
                                event.getHistoricalPressure(idx, j),
                                event.getHistoricalSize(idx, j)
                        );
                    }
                }
                break;
            default:
                return false;
        }
        for (Integer i: tracks){
            idx = event.findPointerIndex(i.intValue());
            addDot(
                    dots,
                    event.getX(idx),
                    event.getY(idx),
                    event.getPressure(idx),
                    event.getSize(idx)
            );
        }
        return true;
    }
Проект целиком: https://github.com/sergei-bespalov/M...e/master/Dots2
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2014, 08:49
Ответы с готовыми решениями:

Qml multitouch
Здравствуйте, имеется такой код: Window { visible: true width: 640 ...

Возможно ли обычным TouchPad-ом воспринимать MultiTouch жесты
Возможно ли обычным TouchPad-ом воспринимать MultiTouch жесты, или же это...

Не могу разобраться разобраться с кодом меню
Добрый день. Я понимаю, что тут все, наверное, элементарно. Но я только начала...

Задали работу, не могу разобраться. Используется делфи 10, не могу разобраться, как это сделать
В одномерном массиве, состоящем из n вещественных элементов, вычислить:...

разобраться
Здравствуйте помогите разобраться, чего не хватает описанию модуля unit Unit1;...

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

разобраться с WHILE и DO WHILE
Почему если я x+=0.1 ставлю вначале цикла то все норм работает, только вот...

разобраться с GET
Есть ссылка вида: http://sajt.ru/cat/1/2/ и есть $id = intval($_GET); ...

Разобраться в js
Объясните как работает скрипт, это библиотека jquery.isotope.min.js ...


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

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

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