在android蜂窝webview / webkit中实现水平/垂直手指滑动滚动?

时间:2011-10-10 15:04:13

标签: android html5 webkit webview android-3.0-honeycomb

我计划实施基于WebView的Honeycomb平板电脑应用程序(因此,基本上它将是基于HTML5网络的应用程序仅适用于平板电脑)。

我希望通过滑动手指来实现水平和垂直滚动。为了更好地理解,我创建了示例大纲。

Horizontal Scrolling by Swiping


此图像显示类似于Honeycomb的原生设置活动,左右页面可垂直滚动 Vertical Scrolling by Swiping

欢迎任何类型的指南或资源。感谢

5 个答案:

答案 0 :(得分:12)

看看iScroll

  

iScroll 4是对原始iScroll代码的完全重写。脚本开发开始是因为移动webkit(在iPhone,iPad,Android上)不提供在固定宽度/高度元素内滚动内容的本机方式。这种不幸的情况阻止了任何网络应用程序都有position:absolute页眉和/或页脚以及内容的滚动中心区域。

     

虽然最新的Android版本支持此功能(虽然支持不是最佳),Apple似乎不愿意添加一个手指滚动到div ...

答案 1 :(得分:5)

以下是我到目前为止所发现的内容:

这取决于您希望如何实现滚动。如果你想附加滑动事件,这是使用众所周知的库实现的最简单方法:

  • jqTouch - 它左右滑动事件可以挂钩向左或向右滚动(似乎所有基于webkit的动画仅适用于iOS设备)。 请注意,项目仍处于测试阶段且不高度活跃。编辑:这也是Sencha Labs的一部分 - 他们积极维护Sencha Touch。
  • Sencha Touch - 他们可以更好地支持移动设备和平板电脑中的所有内容。 (注意:它对开源应用程序是免费的,但对商业应用程序没有 - 编辑:他们实际上有商业许可证。有关许可的更多信息,请访问他们的网站)
  • jQueryMobile - 它们非常稳定(截至目前为RC1),并且左右滑动事件,但我无法向上或向下滑动。如果您只需要向左滑动,请点击,按住,然后使用jQM。他们有最好的社区支持。
  • RAW JS - 最后,如果您想要原始javascript,请访问HTML5Rocks article以更深入地了解触摸事件的工作原理。

我希望它有所帮助。我仍然在努力实现向上滚动,因为我不想等待滑动结束,而是我试图实现即时滚动反馈,使用RAW JS坐标非常接近,但不满意。

答案 2 :(得分:5)

Hammer JS对我有用:

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

答案 3 :(得分:2)

来自iScroll的创建者, SwipeView 似乎是一个不错的专用替代品。请查看demo 1demo 2

我还没有测试过,但我肯定会。由于演示在我的iPad上表现良好。

答案 4 :(得分:0)

您可能会发现此库非常有用:https://github.com/cubiq/2-way-iScroll

它处理垂直滚动和水平滑动的情况。