Android M では、ステータス バーのアイコンを暗くする機能があります。これを行うには、テーマの xml で属性を指定できます。
<item name="android:windowLightStatusBar">true</item>
または、次のコードを使用して実行時に設定します。
View someView = findViewById(R.id.some_view);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
someView.setSystemUiVisibility(someView.getSystemUiVisibility() | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
そして、それは実際にうまく機能します。しかし問題は、実行時にステータス バー モードを適切にダークに設定する方法です。
私はすでにこれらの変種を試しました:
// Makes status bar mode dark, but also hides it along with all navigation views.
someView.setSystemUiVisibility(someView.getSystemUiVisibility() | ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
// Does nothing
someView.setSystemUiVisibility(someView.getSystemUiVisibility() & ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
// Also does nothing
someView.setSystemUiVisibility(someView.getSystemUiVisibility() ^ View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
では、どうすれば正しい方法で行うことができるのでしょうか?