我希望在显示网页不可用时显示图像

时间:2015-12-08 09:18:52

标签: android android-webview mobile-webkit

我正在寻找有关WebView Android应用的解决方案。我想在屏幕显示网页不可用时显示图像。我试图寻找解决方案,但他们没有工作。请帮助我。

在MainActivity.java中

myWebView.setWebViewClient(new WebViewClient(){
        @Override
    public void  onReceivedError (WebView view, WebResourceRequest request, WebResourceError error){
            super.onReceivedError(view, request, error);

            findViewById(R.id.customError).setVisibility(View.VISIBLE);

        }

    });

并在activity_main.xml

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="com.example.android.myapplication.MainActivity">

<ImageView
    android:id="@+id/splashLoading"
    android:contentDescription="@null"
    android:scaleType="centerCrop"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:visibility="visible"
    android:src="@mipmap/splash_loading"
    />
<ImageView
    android:id="@+id/customError"
    android:contentDescription="@null"
    android:scaleType="centerCrop"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:visibility="visible"
    android:src="@drawable/ic_error"
    />


<WebView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/activity_main_webview" />

</LinearLayout>

1 个答案:

答案 0 :(得分:1)

一种简单的方法是在ImageView中设置WebViewRelativeLayout,并将imageView保持在webView之上。最初保持imageView不可见,并在onReceivedError方法中,使imageView可见。