Я работаю над приложением планшета, на котором есть 2 фрагмента на экране. Один фрагмент - это WebView. По умолчанию пользователь не получает никаких отзывов, чтобы сообщить им, что веб-страница загружается.Показатель прогресса в фрагменте WebView в хорошем смысле
Чтобы сообщить об этом пользователю, я покажу диалог прогресса, когда начнется загрузка страницы и удалите ее, когда страница закончилась. Это хорошо работает в большинстве случаев, за исключением случаев, когда ссылка перенаправляет несколько раз.
При переадресации диалог отображается и отклоняется несколько раз, что выглядит довольно плохо. Я предполагаю, что было бы приемлемо, если бы я мог остановить диалог от затемнения фона, но после поиска какое-то время я не нашел способ сделать это.
В идеале Было бы здорово, если бы я мог просто добавить загрузочную панель над центром фрагмента веб-просмотра и скрыть/закрыть его, когда закончите. Есть идеи?
private class InnerWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
if (dialog==null)
dialog = new ProgressDialog(getActivity());
dialog.setMessage("Loading...");
dialog.setIndeterminate(true);
dialog.setCancelable(false);
dialog.show();
Log.d("WEBVIEW", "loading "+ url);
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
dialog.dismiss();
mUrl=url; // save final url so user can open in deafult browser
super.onPageFinished(view, url);
}
}