html – Implementing horizontal/vertical finger swipe scrolling in android honeycomb webview/webkit?-ThrowExceptions

Exception or error:

I am planning to implement Honeycomb tablet application based on WebView (so, basically it’ll be a HTML5 web based application made only for tablet).

I am looking to implement horizontal and vertical scrolling by swiping finger. For better understanding I created sample outline.

Horizontal Scrolling by Swiping


This image shows something similar to Honeycomb’s native setting activity with left and right page vertically scrollable
Vertical Scrolling by Swiping

Any kind of guides or resources are welcome. Thanks

How to solve:

Take a look at iScroll:

iScroll 4 is a complete rewrite of the original iScroll code. The script development began because mobile webkit (on iPhone, iPad, Android) does not provide a native way to scroll content inside a fixed width/height element. This unfortunate situation prevents any web-app to have a position:absolute header and/or footer and a scrolling central area for contents.

While latest Android revisions are supporting this functionality (although support is not optimal), Apple seems reluctant to add one finger scrolling to divs…

###

Here is what I have found so far:

It depends on how you want to implement scrolling. If you want to attached swiping event, thats the easiest way to implement using well known libraries:

  • jqTouch – It has swipe left and right event which can be hooked to scroll left or right (it seems all the webkit based animations work only on iOS devices). Please note that project is still in beta and not highly active. EDIT: this is also part of Sencha Labs – who actively maintains Sencha Touch.
  • Sencha Touch – They have better support for almost everything in mobile and tablet. (Note: It’s free for opensource apps but not for commercial apps – EDIT: they actually have commercial license. see their site for more info on licensing)
  • jQueryMobile – They are very stable (in RC1 as of now), and has swipe left and right event, but I could not find swipe up or down. If you just need swipe left right, tap, tap hold, then go with jQM. They have the best community support.
  • RAW JS – Finally, if you want something raw javascript, visit HTML5Rocks article to have better in-depth idea about how touch event works.

I hope it helps. I’m still struggling to implement scroll up down, since I don’t want to wait for swipe to end, instead I am trying to implement instant scroll feedback, getting very close using RAW JS coordinates, but not satisfactory.

###

Hammer JS has been useful for me:

http://eightmedia.github.io/hammer.js/

###

From the creators of iScroll, SwipeView seems a nice dedicated alternative. Have a look at demo 1 and demo 2.

I have not tested yet, but I will surely. Since demos behave well on my iPad.

###

You might find this library quite useful: https://github.com/cubiq/2-way-iScroll

It handles the case of vertical scroll and horizontal swipe.

Leave a Reply

Your email address will not be published. Required fields are marked *