次のように、XWalkView を使用して Web ページをロードします。
<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 にはデモがほとんどないため、どこから始めればよいか本当にわかりませんでした。
どんな助けでも大歓迎です。ありがとう!
編集済み:@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" />