作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 RelativeLayout
和 WebView
。我正在将一些生成的 html 文本加载到该 WebView
中。加载数据后 WebView
高度超出屏幕。现在我需要整个 WebView
的高度。到目前为止,我尝试了 WebView#getHeight()
、WebView#getBottom()
但我得到的是可见内容的高度。
最佳答案
我终于得到了问题的答案。这就是答案。
加载 WebView
后,我们将在 WebViewClient#onPageFinished
中调用我们需要调用 javascript 来获取 WebView
完整内容的高度
WebViewClient
类
/**
* Custom web client to perform operations on WebView
*/
class WebClient extends WebViewClient {
@Override
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:AndroidFunction.resize(document.body.scrollHeight)");
}
}
}
之后,我们将在注册为 JavascriptInterface
的 WebInterface
类中获得带有高度的回调
/**
* WebView interface to communicate with Javascript
*/
public class WebAppInterface {
@JavascriptInterface
public void resize(final float height) {
float webViewHeight = (height * getResources().getDisplayMetrics().density);
//webViewHeight is the actual height of the WebView in pixels as per device screen density
}
}
关于android - 如何在 android WebView 中获取整个高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43394498/
我是一名优秀的程序员,十分优秀!