- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 Netflix 的 Android 应用程序中,有一个 WebView 几乎覆盖了整个应用程序的区域。当您从左向右拖动一行时,它将仅滚动该行,并使用良好的惯性滚动来执行此操作。如果你上下拖动,它会上下滚动整个页面。
我已经设法在 iOS 上(在 uiWebView 和 Safari 中)复制了这个功能,但在 Android 上却没有。在 Android 设备上,我所做的任何事情要么滚动得非常慢,要么你必须非常小心地垂直滚动才能开始触摸行之间的背景区域。两者都 Not Acceptable 。显然,我不想在 javascript 中做滚动动画,因为那样太慢了。
我知道 Netflix 使用 WebView 来做到这一点,所以....他们使用的技巧是什么?
我已经尝试使用 css 属性(对于行 div):
overflow-y: hidden;
-webkit-overflow-scrolling-x: touch
没用。
最佳答案
如果您无法获得与您的特定 WebView 兼容的 Android CSS,为什么不创建仅将请求的行输出到单独的 WebView 中的服务器端功能?
我会做以下事情:
* 查询网络服务器以确定有多少行。
* 以编程方式添加 Web 服务器声称它拥有的行数。例如,如果服务器报告有 5 行,则创建 5 个 WebView,每个都有自己的 URL 参数(例如:第一个 WebView 将查询 mydomain.com/wv?row=1
)。< br/>* 将每个 WebView 行放在一个 HorizontalScrollView 中,并将所有 HorizontalScrollView 放在一个 VerticalScrollView 中。
* 在 URL 更改时,转到显示所点击磁贴详细信息的全页 WebView。
* 按下后退,关闭整页 WebView 并重新加载行。
不是最干净的解决方案,但应该可以正常工作。
关于android - 如何在 WebView 的 Android 上独立滚动行和列(la Netflix 应用程序)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18156506/
我是一名优秀的程序员,十分优秀!