0

現在、作業中のアプリにWebViewがあり、各ページがWebViewに読み込まれた後、TitleBarを非表示にします。私はこの質問を調べましたが、答えは私が望むことを正確に実行するはずですが、ページの読み込みが完了した後、TitleBarが非表示になることはありません。

私が使用しているコードは、リンクした回答と同じですが、以下にも含めています。onProgressChangedが呼び出されており、ページの読み込みが完了すると進行状況が100として報告されることを確認できますが、setProgressBarIndeterminateVisibility(false)とsetProgressBarVisibility(false)はどちらも何もしないようです。コンテンツを送信する前に、requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS)とrequestWindowFeature(Window.FEATURE_PROGRESS)を使用しています。

これをAndroid2.3と4.1でテストしましたが、結果はどちらも同じで、TitleBarは非表示になりません。

mWebView.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onProgressChanged(WebView view, int progress) {
                setProgress(progress * 100);
                if(progress == 100) {
                    setProgressBarIndeterminateVisibility(false);
                    setProgressBarVisibility(false);
                }
            }
});
4

3 に答える 3

2

私はAndroid2.3を対象としたAndroidWebブラウザーを作成しましたが、これと同じ問題が発生しました。解決策は、このコード行をメインアクティビティのどこかに追加することです。

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView()メソッドの前にこの行を配置してください。そうしないと、アプリが強制的に閉じられます。

于 2012-07-05T15:48:55.077 に答える
0

古いタイトルバーは、機能が多少制限されています。おそらく、アクティビティのレイアウト内に独自のタイトルバーを作成し、で表示/非表示にする必要がありsetVisibility()ます。

ActionBar古いタイトルバー(とにかく人々がやるべきことです)の代わりに使用している場合、それはあなたが望むことをするために使用できる方法を持っshow()hide()います。

于 2012-07-05T16:22:59.727 に答える
0

public void onProgressChanged(WebView view、int progress){if(progress <100 && pb.getVisibility()== pb.Invisible){pb.setvisibility(pb.Visible)}

 pb.setProgress(progress);
if(progress==100)
{
      pb.setVisibility(ProgressBar.INVISIBLE);
}

*ここで、pb =(ProgressBar)findViewById(R.Id.progressbar); 私にとっては正しく機能しているので、私のコードがシンプルで甘いものになったことを願っています。

于 2013-10-24T01:43:24.870 に答える