我在webpage
android中加载webview
。网页底部包含一个editbox
。加载网页后,焦点始终是editbox
。我最初无法获得网页的顶级视图。我需要在加载完成后从顶部显示网页。我该如何解决这个问题?
答案 0 :(得分:2)
试试这段代码:
mWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
view.scrollTo(0,0);
}
});
此外,您可以使用它来获得更好的性能(如果您只有一个要显示的网页):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<ProgressBar
android:indeterminate="true"
android:visibility="visible"
.../>
<WebView
android:visibility="gone"
.../>
</LinearLayout>
和代码:
mWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
showWebView(WebView view);
}
});
...
private static final int TIME_TO_DELAY = 200;
private void showWebView(WebView view){
view.scrollTo(0,0);
view.postDelayed(new Runnable() {
@Override
public void run() {
mProgressBar.setVisibility(View.GONE);
mWebView.setVisibility(View.VISIBLE);
}
}, TIME_TO_DELAY);
}