安卓WebView的“固定定位”替代方案

3
我使用了一个WebView 来展示一张表格。由于该表格太大,用户需要通过滚动页面来查看内容。我想要展示一个固定的表头,使其始终可见。由于大多数版本的WebView 不支持 position:fixed 属性,因此我通过使用onScroll 事件并手动定位表头,实现了替代方案。 但是,问题在于onScroll 事件只有在滚动结束时才会触发。这意味着,如果你向上滚动,表头会从顶部滚动到底部,直到你停止滚动,然后事件才被触发重新定位。 请问是否有更好的解决方案?
2个回答

2

我在Webview中找到了固定元素定位的解决方案,因为有一个带有视口的meta标签,如果你说用户可缩放,则必须将其修改为不可缩放。我尝试了各种提示,但没有什么改变。我采用了修复视图端口meta标签的方法。您可以更改meta标签,这样就可以正常工作了。谢谢。


这对我非常有效,我想锁定视图以避免水平滚动,并在视图顶部拥有固定的工具栏。使用以下元标记实现了这一点:<meta name="viewport" content="width=device-width, user-scalable=no" /> - EtienneSky
我尝试了这个头部 <meta name='viewport' content='target-densitydpi=240, width=device-width, user-scalable=no'/>,但它在我展示的网页上不起作用。该头部仍然没有固定,而是滚动直到滚动完成。然后它会重新定位到页面顶部。 - Tin

-1
我的最终解决方案是使用两个Webview,一个在另一个上面。上面的Webview显示标题,下面的Webview显示内容。为了解决水平滚动问题,后台线程将标题的scrollX位置与内容Webview的scrollX位置同步。只要用户触摸内容Webview或上一个Webview的scrollX位置与前一个不同,该线程就会运行。后者是必要的,因为用户可以滑动内容,然后放开手指。这个方法非常有效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接