私のアクティビティには、fA と fB の 2 つのフラグメントがあります。fA のボタンをクリックすると、fB が fA に置き換わります。fB は、いくつかのアプリを表示するために開いたときの Google Play ストア ビューのようなものです。画像は透明なステータス バーの下にあります。これを行うには、次のコードを fB#onCreateView に追加します。
Window w = getActivity().getWindow();
w.getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
w.setStatusBarColor(Color.TRANSPARENT);
押し戻すと、fB が削除され、fA に置き換えられます。すべて正常ですが、ツールバーはステータス バーの下にあります。お気に入り:
一方、次のようになります。
これは、フラグメントが最初にロードされたときの様子です。
fB で設定したフラグをクリアする方法はありますか? このコードをフラグメントの onResume に入れようとしましたが、うまくいきません!
w.getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|View.SYSTEM_UI_FLAG_VISIBLE);
そして、私も試しました:
w.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
w.addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
これを修正する他の方法はありますか?ありがとう!