Как определить, когда iframe начинает загружать новый URL и показывать загрузку изображения или gif, чтобы избежать времени загрузки iframe - PullRequest
0 голосов
/ 24 апреля 2019

Как я могу определить, что iframe на моей странице начинает загружать новую страницу и как показать загрузку GIF и изображения в течение времени загрузки, поскольку это занимает слишком много времени. Я искал то же самое, ни один ответ не работал для меня. Я также установил RenderPriority HIGH и setLayerType в соответствии с версией сборки, но загрузка заняла слишком много времени.

Мой код для веб-просмотра

public class MainActivity extends AppCompatActivity {
private WebView webView = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    this.webView = (WebView) findViewById(R.id.webview);
    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setRenderPriority(WebSettings.RenderPriority.HIGH);
    webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
    if (Build.VERSION.SDK_INT >= 19) {
        webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
    }
    else {
        webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    }
    MyWebViewClient webViewClient = new MyWebViewClient();
    webView.setWebViewClient(new WebViewClient());
    webView.loadUrl("https://www.example.com");

}


@Override

public boolean onKeyDown(final int keyCode, final KeyEvent event) {

    if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
        webView.goBack();
        return true;
    }

    return super.onKeyDown(keyCode, event);
}

private class MyWebViewClient extends WebViewClient {


    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {

        if(Uri.parse(url).getHost().endsWith(".com")) {


            return false;
        }

        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        view.getContext().startActivity(intent);
        return true;
    }
}
  }

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...