2

我的 webview(最初不可见)获取要加载的 url:

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

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

PS顺便说一句,我尝试使webview可见并将translationY设置为足够大以使视图位于屏幕下方-仍然,除非我调用setTranslationY(0),否则它不会加载任何内容;... 该怎么办?

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

4

1 回答 1

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" />

这对我来说很有用。

于 2012-09-17T13:15:46.440 回答