4

私のアクティビティには、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);

これを修正する他の方法はありますか?ありがとう!

4

1 に答える 1