화면에 조각이 2 개인 타블렛 응용 프로그램에서 작업 중입니다. 한 조각은 WebView입니다. 기본적으로 사용자는 웹 페이지가로드되고 있음을 알리는 피드백을받지 못합니다.좋은 방법으로 WebView Fragment의 진행 상황을 표시합니다.
사용자 피드백을 제공하기 위해 페이지로드가 시작되면 진행 대화 상자가 표시되고 페이지가 완료되면 제거됩니다. 이 기능은 링크가 여러 번 리디렉션되는 경우를 제외하고 대부분의 경우 잘 작동합니다.
리디렉션이 발생하면 대화가 표시되고 여러 번 취소됩니다. 대화를 어둡게하는 것을 멈출 수 있다면 받아 들일 수있을 것 같지만 잠시 동안 검색 한 후에는이 작업을 수행 할 방법을 찾지 못했습니다.
이상적으로 웹 뷰 조각의 가운데에 로딩 바를 추가하고 작업이 완료되면 숨기거나 닫을 수 있다면 이상적입니다. 어떤 아이디어?
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);
}
}