对于在webview中运行的应用程序,那些在那里做过研究或者对第三方滚动条有真正良好体验的人?特别是有多个划分滚动?即带有导航面板和详细信息面板的webview。
当只有一个需要滚动条的分隔时,它可以顺利运行,但在上面的情况下,它非常不稳定。我相信很多开发人员都遇到过这个问题。
我已经尝试过iScroll(目前为止最好)和其他插件,但滚动的质量不太理想。我无法使用iFrame,因为我需要调整从我们的服务器中提取的一些HTML文档的样式。我在网上搜索了一种在HTML分区中调用本机滚动条的方法,但还没找到方法。有办法吗?我怎么能这样做?
我一直在各种设备上使用API的9到15进行游戏,而且在非本地滚动条的性能方面我没有看到任何差异。我目前正在开发应用程序15,如果这是对你的答案的帮助。此外,我关闭硬件加速,这是最好的。
我和jqm,Sencha等人玩过,他们看到了令人满意的卷轴。有谁知道他们用的是什么?我不主要使用任何这些平台的问题是批量和其他性能问题。
目前我正在使用原始javascript构建应用程序,这证明在webview布局中的所有动画中的性能都有显着提高 - 明显优于任何大型跨平台解决方案。不幸的是,我没有足够的经验来构建我自己的卷轴,所以我需要找到一个开箱即用的解决方案。
任何想法,潜在客户或解决方案,以及其他更善于使用javascript编写应用程序的人都可以有机会构建高质量的应用程序,我们将非常感激。
根据您的经验和专业知识,请提供您正在使用的API级别。
日Thnx
答案 0 :(得分:1)
我做了很多测试。我不会推荐仅基于HTML的第三方滚动,因为根据我的经验,问题不是javascript,而是webview本身:
1)WebView上的iframe表现弱弱弱。我将任何(复杂)应用程序的性能降低了近40%,只是将其放在iframe中。此外,如果您使用硬件加速,它们会导致更多问题。2)如果div中的内容很简单且短暂,则可以滚动DIVS,但是当您添加更精细的内容以进行滚动时,性能会下降。例如,在我的情况下,将所有内容包含在ul / li(更慢)或不包含(明显更快)中是不同的。然而,感觉并不完美,即,如果您习惯于原生滚动,您会发现这不是原生滚动。
3)身体的原始滚动非常好。此外,你会得到类似本机的反馈,例如过度滚动的发光效果等。但是请注意,这个滚动不是使用javascript,它只是一个比webview更大的页面,你让用户滚动并且WebView会处理它。就我而言,这是我希望为用户提供的唯一可接受的滚动体验。
所以我提出了一个混合解决方案:我做了一个JavaScript可调用的Java函数,可以打开另一个请求大小的webview,就好像它是iframe一样,所以我可以用HTML打开它并填充东西,它不是很很难做到,而且改进很棒。
更多事情:
4)从Java滚动WebView(scrollTo)在我的情况下非常有用,我在那里加载了一个巨大的HTML页面(一种杂志)。如果我要求webview从Java滚动,那么性能要比依靠JavaScript进行滚动要好得多。
5)硬件加速可以提高滚动速度100%-setLayerType(HARDWARE) - 但是为了能够使用它,你必须让你的html非常简单。像Display:none / block等之类的东西会完全破坏应用程序(有关详细信息,请参阅WebView fails to render until touched Android 4.2.2)
6)大图像上的HTML5动画完全扼杀了滚动体验。
7)所有这些在几个月内无效,goole正在将渲染引擎替换为“Blink”,所以谁知道会发生什么。我不安分。