我有一个使用标准调用加载网页的 WebView。
我使用的
Kotlin
代码-
myWebView.settings.javaScriptEnabled = true
val projectUrl: String = "Web page URL"
myWebView.loadUrl(projectUrl)
有了这个,我就可以很好地看到我的网页,我想要做的就是裁剪网页,比如不显示加载网页的顶部 20 像素或底部 20 像素。我怎么能做到这一点?
我更倾向于真实的解决方案,但我也可以为此实施黑客攻击。
我想问更多细节,为什么你会想做这样的事情?听起来像是一个应该在网页设计方面解决的问题。
黑客: 我可以建议您在网络视图的顶部放置两个不透明的视图,然后以编程方式根据您的喜好设置透明度/高度吗?
您可以调试应用程序并记录滚动 y-pos 来决定您希望用户滚动的所需区域,如果用户超出此区域将其返回 所以在这个例子中,从 0 到 135,我不需要显示标题,所以我阻止用户在低于 135 的 y-pos 中滚动 6600 之后,不想让用户看到内容,所以我做了同样的过程
// first scroll to hide the header
webView.scrollTo(0 , 135);
// listen for the user scroll to prevent him from scrolling on a hidden area
webView.setOnScrollChangeListener(new View.OnScrollChangeListener() {
@Override
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
if(scrollY<135) webView.scrollTo(scrollX , 135);
if(scrollY>6600) webView.scrollTo(scrollX , 6600);
}
});