1. ホーム
  2. android

[解決済み] AppCompat ActionBarActivityでステータスバーの色を変更する

2022-05-05 10:12:04

質問

あるアクティビティで、ツールバーの色を Palette . しかし、5.0デバイスで ActionBarActivity その status bar の色は、私の colorPrimaryDark を使用しているため、2つの非常に異なる色があり、見た目がよくありません。

5.0では Window.setStatusBarColor() しかし ActionBarActivity はこれを持たない。

そこで質問ですが、5.0では、ステータスバーの色を ActionBarActivity ?

解決方法は?

問題がよくわからないのですが。

ステータスバーの色をプログラムで変更したい場合(Android 5.0を搭載している場合)、次のようにします。 できる 使用 Window.setStatusBarColor() . このアクティビティが Activity または ActionBarActivity .

してみてください。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    Window window = getWindow();
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(Color.BLUE);
}

を使ってテストしてみました。 ActionBarActivity で、問題なく動作します。


FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS フラグをプログラム的に使用する必要はありません。 values-v21 スタイルファイルにすでに設定されている場合は、via:

    <item name="android:windowDrawsSystemBarBackgrounds">true</item>