web-dev-qa-db-ja.com

フラグメント変更時のステータスバーの色を変更する[AndroidLollipop]

現在アクティブなフラグメント(5.0 Lollipop)に応じてStatusBarの色を変更する方法を知りたいです。現在、使用しているフラグメントに応じてActionBarの色を変更していますが、Lollipopデバイスで見栄えを良くするために、StatusBarの色も変更する必要があります。

SetStyleを使用して、フラグメントに応じてプログラムでテーマを変更しようとしましたが、ステータスバーの色が変更されていないようです。

任意のアイデアをいただければ幸いです!

11
user3634770

Window.setStatusBarColorを使用してステータスバーの色を変更しようとしましたか?たとえば、次の手順を実行して、プログラムでステータスバーの色を赤に変更できます。

getWindow().setStatusBarColor(Color.RED);

setStatusBarColorのドキュメントは ここ にあります。 ステータスバーをカスタマイズする の方法に関するドキュメントも読むことができます。

注:このメソッドはLollipop以上でのみ機能します。

予期しない色が表示される場合は、渡す整数値が色の整数であり、リソースIDではないことを確認してください。

getWindow().setStatusBarColor(getResources().getColor(R.color.custom_color)); // RIGHT
getWindow().setStatusBarColor(R.color.custom_color); // WRONG
18
ztan