ущипнуть, чтобы увеличить мультитач функцию в Android - PullRequest
1 голос
/ 31 августа 2011

Привет всем,

Я искал Android мультитач (пинч-зум) на многих сайтах, но не смог найти подходящий ответ, я нашел одну ссылку http://android -developers.blogspot.com / 2010/06 / making-sense -of-multitouch.html , в котором он предложил использовать закрытый ScaleGestureDetector mScaleDetector; но ScaleGesturesDetector требует Android 2.2 Froyo. Тогда что мы будем делать ниже 2.2. Есть ли пример кода или решения?

ваше драгоценное время будет полезно для меня .. спасибо заранее

Ответы [ 2 ]

1 голос
/ 31 августа 2011

Это должно быть возможно, просто расширив код, приведенный в блоге, на который вы ссылаетесь (если есть телефоны с поддержкой мультитач под управлением Android до 2.2). Если вы возьмете пример непосредственно перед тем, как вводить детекторы жестов, у вас будет много того, что вам нужно.

Что касается действительной теории, это не должно быть слишком сложным. Сначала определите, когда два пальца находятся на экране. В первую очередь сохраните позиции этих пальцев в качестве начальных позиций. Затем для каждого движения с двумя пальцами, все еще находящимися на экране, сравните текущие позиции с сохраненными начальными позициями и увеличьте / уменьшите соответственно.

Удачи!

1 голос
/ 31 августа 2011

Из-за различий в уровнях поддержки мультитача на более ранних устройствах Android (то есть, как правило, на них нет), я бы предположил, что если ScaleGestureDetector недоступно на устройстве, вы просто предоставляете экранные кнопки увеличения / уменьшения.

Эта страница дает хорошее объяснение того, как вы можете определить, доступны ли определенные API-интерфейсы (т. Е. ScaleGestureDetector на 2.2 и выше), что позволяет вашему приложению изящно ухудшаться, если это не так (т. Е. С кнопками, если их значение меньше 2.2) http://blog.radioactiveyak.com/2011/01/how-to-use-gyroscope-api-and-remain.html

...