我使用 XWalkView 加载网页,如下所示:
<org.xwalk.core.XWalkView android:id="@+id/webview"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
</org.xwalk.core.XWalkView>
活动
XWalkView mXWalkView = (XWalkView) findViewById(R.id.webview);
mXWalkView.load("http://xxxxxxxx", null);
有关实现 XWalkView 的详细信息,请参阅我的这篇文章。
但是现在,由于页面内容太多,加载完成需要4~5秒。这将导致应用页面为空白。我想为 XWalkView 添加加载进度。因为 XWalkView 的 demo 太少了,我真的不知道从哪里开始。
任何帮助将不胜感激。谢谢!
编辑:根据@Srihari 的回答尝试后,又出现了另一个奇怪的问题。进度显示良好,当它完成 100% 时,它就消失了。但是它在页面加载完成后很快又以 100% 的速度跳了出来,并且再也没有消失过。
活动:
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);
}
xml
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_marginTop="50dp" />