Android:使锚链接在 ScrollView 内的 WebView 中工作
Posted
技术标签:
【中文标题】Android:使锚链接在 ScrollView 内的 WebView 中工作【英文标题】:Android: Make anchor links work in WebView inside ScrollView 【发布时间】:2021-01-28 22:18:47 【问题描述】:我的 html 中有锚链接(例如:<a href="#P12"/>
),我将其加载到 WebView 中,并且此 WebView 位于 NestedScrollView 中。当我暂时禁用 NestedScrollView 时,因为每个人都建议在锚链接无法正常工作时这样做,这些锚链接可以正常工作。但是,由于多种原因,我的布局确实需要这个 NestedScrollView:
-
它有一个CollapsingToolbarLayout,需要设置
app:layout_behavior="@string/appbar_scrolling_view_behavior
;
WebView 上下有布局元素;
这些元素必须作为一个整体一起滚动。
预期的行为是单击锚链接时内容会跳转到网页的正确部分。实际行为是内容跳转到某个随机位置,并且您无法再滚动整个页面(顶部或底部被截断)。
是否有可能使这些锚链接在我位于 NestedScrollView 内的 WebView 内工作?
在 *** 上,我发现 one question 与这个类似,但不幸的是它没有答案,而且它是从 2017 年开始的,所以我非常怀疑有人会很快回答它。
【问题讨论】:
为了让WebView
与layout_behavior
正常工作,我一直在努力争取几个工作周,但运气不好……遗憾地以固定的Toolbar
结束。另请注意,将WebView
放在NestedScrollView
中会导致WebView
绘制整个内容(例如,所有图像都会触发图像的延迟加载),这是非常低效的
在HERE这个话题中找到了我的问题
【参考方案1】:
因为当我偶然发现一个没有答案的问题时让我很沮丧,我会回答我自己的问题,这样其他人就会知道我是如何解决这个问题的。
坏消息是,这个特定问题无法解决。至少,到 2021 年还没有。
我所在的公司和客户决定做的是改变这个屏幕的整个实现。整个屏幕现在是一个 WebView,而不仅仅是屏幕的一部分是一个 WebView。
【讨论】:
我找到了方法,见:***.com/a/70439752/3671844以上是关于Android:使锚链接在 ScrollView 内的 WebView 中工作的主要内容,如果未能解决你的问题,请参考以下文章