Android:为什么webview不会开始加载网址,除非用户可以看到?

时间:2012-09-17 13:01:49

标签: android webview

我的网页视图(最初不可见)获取要加载的网址:

@Override
public void onCreate(Bundle savedInstanceState){
    ...
    webView.loadUrl("some url");
    ...
}

然后,在onClickListener中,我将其可见性更改为可见,并且看不到任何已加载的内容。如果我将可见性设置为可见和那么加载网址,它可以正常工作,但是用户应该在网址加载时等待一段时间。我想预先加载所有内容并显示ALREADY LOADED网页。怎么做? Webview只有在可见时才会加载...

P.S。顺便说一下,我试着让webview可见并设置translationY足够大的视图进入屏幕下方 - 但是,除非我调用setTranslationY(0),否则它什么都不加载; ......该怎么办?

P.P.S。我尝试调用webView.loadData - 效果相同。

1 个答案:

答案 0 :(得分:1)

试试这个:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.screen_web);

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadUrl("http://www.google.co.uk");
    mWebView.setWebViewClient(new HelloWebViewClient());
}

public void testing (View view){
    mWebView.setVisibility(View.VISIBLE);
}

screen_web.xml中的按钮:

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="testing"
    android:text="Button" />

screen_web.xml中的WebView:

    <WebView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="0dip"
    android:layout_weight="0.32"
    android:visibility="invisible" />

它适用于我。