Is there a XWalkView webviewclient?
Cross Walk API introduces its own names for every component. Not only the WebView
is renamed to XWalkView
, but also WebViewClient
has its counterpart named XWalkResourceClient
and WebChromeClient
- XWalkUIClient
. So, instead of setWebViewClient
you should use setResourceClient
method and pass XWalkResourceClient
instance to it. In this object you can implement some required methods, for example onLoadFinished
. Please, consult with Cross Walk API documentation for further details.
WebViewClient example:
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
//Do stuff
}
});
Same thing but using XWalkView version:
xWalkView.setResourceClient(new XWalkResourceClient(xWalkView){
@Override
public void onLoadFinished(XWalkView view, String url) {
super.onLoadFinished(view, url);
//Do Stuff
}
});
you can use ResourceClient.
class ResourceClient extends XWalkResourceClient {
public ResourceClient(XWalkView xwalkView) {
super(xwalkView);
}
public void onLoadStarted(XWalkView view, String url) {
mProgress = (ProgressBar) findViewById(R.id.progressBar);
mProgress.setVisibility(View.VISIBLE);
super.onLoadStarted(view, url);
Log.d("INFO", "Load Started:" + url);
}
public void onLoadFinished(XWalkView view, String url) {
super.onLoadFinished(view, url);
Log.d("INFO", "Load Finished:" + url);
bottomBar = (BottomBar) findViewById(R.id.bottomBar);
mProgress = (ProgressBar) findViewById(R.id.progressBar);
mProgress.setVisibility(View.GONE);
}
public void onProgressChanged(XWalkView view, int progressInPercent) {
super.onProgressChanged(view, progressInPercent);
Log.d("INFO", "Loading Progress:" + progressInPercent);
mProgress = (ProgressBar) findViewById(R.id.progressBar);
mProgress.setProgress(progressInPercent);
}