2010-03-17 2 views
11

На iPhone, iPod touch и (предположительно) iPad Apple имеет multi-touch event handling, доступный через JavaScript в Mobile Safari. Я знаю, что Nexus One недавно добавила поддержку multi-touch через обновление, и я считаю, что webOS также поддерживает multi-touch. У Android 2.1 и/или WebOS есть доступ к мультитач в браузере, или это в настоящее время эксклюзивно для устройств Apple?Устройства Android/webOS поддерживают события с несколькими касаниями Javascript?

ответ

17

Лучший мастер отслеживания для сенсорных событий (! Кроме мультитача - ответил выше), как представляется:

http://quirksmode.org/mobile/tableTouch.html

Прямо сейчас, Android 2.1 получает вы щепотку/зум, но это все. Нет никакого мелкозернистого отслеживания с несколькими касаниями, например, на iPhone.

UPDATE: MAY 2011 - Android Honeycomb 3.0 и 3.1 браузеры теперь собственно мультитач

+0

Это самое близкое к ответу, который я видел - мне удалось протестировать Nexus One с обновлением с несколькими касаниями в моем собственном приложении, и они пока не поддерживают мультитач-события через Javascript. –

+0

Поддерживает ли T-Mobile G1 и G2 мультитач? – RobKohr

+0

У вас есть ссылка на новую спецификацию Honeycomb multitouch? – LeRoy

0

Это зависит от браузера. Браузер HTC Hero, который в настоящее время работает под управлением Android 1.5 и настраиваемый интерфейс TouchFlo от HTC, всегда имел мультитач. Браузер «Dolphin» также имел мультитач с момента обновления Android 2. Тем не менее, я никогда не пробовал использовать мультитач для чего угодно, кроме «щепотного масштабирования», поэтому он может не работать с конкретным Javascript или что-то в этом роде.

2

На Palm WebOS вы можете получить несколько событий касания. Вы можете одновременно получать до пяти точек касания.

Если вы занимаетесь разработкой с использованием PDK, обработка нескольких касаний описана в http://developer.palm.com/index.php?option=com_content&view=article&id=1980&Itemid=337. Каждый палец отслеживается как отдельная мышь в событиях SDL.

Для разработчиков Javascript, использующих стандартный SDK, отправляются события, указывающие, что используются два пальца. «gesturestart» срабатывает, когда пользователь кладет 2 пальца на экран, как правило, чтобы зажать или повернуть, «gesturechange» срабатывает, когда 1 или оба пальца движутся по экрану, а «gestureend» срабатывает, когда пальцы поднимаются с экрана. Они плохо документированы на сайте разработчика Palm, но они используются в образце кода mojomatters.

Редактировать: при повторном просмотре вашего вопроса в браузере WebOS для приложений, передаваемых через веб-сайты, нет поддержки событий «touch».

0

Это зависит от устройства. Но я думаю, что текущее устройство Android 2.x получило все мультитач.

0

На вкладке Samsung Galaxy я пробовал браузер Android 2.2, Dolphin HD 4 и Opera Mini 5. Ближайшая реализация того, что я ищу, - http://anders.com/cms/352/OpenLayers/iPhone/Android/Touch.Gestures (демонстрация завершается на '/ touchmaps' на этой странице), который работает с браузером Android 2.2. Это касается кастрюли только с Android-устройством, но в Javascript не наблюдается захвата жесткого зума, что мне действительно нужно.

У Firefox 4 есть лучший рабочий и наиболее документированный API для multi-touch javascript. Это в настоящее время реализовано в Firefox 4 beta 3 (к сожалению, только в Windows 7). У меня есть FF4 beta 2, работающий на устройстве, но у него пока нет поддержки multi-touch.

Я надеюсь, что FF4 b3 для Android будет делать то, что я хочу, и что другая реализация браузера последует этому примеру. До тех пор это просто ждать и видеть.

8

Пожалуйста звезда эта ошибка в списке Android ошибка:

http://code.google.com/p/android/issues/detail?id=11909

Давайте посмотрим, сможем ли мы повысить осведомленность об этой проблеме.

+1

Спасибо за ссылку - я проголосовал за нее. –

Смежные вопросы