概要
AppBarのbackgroundColorをwhiteにしたとき、
ステータスバーの色を白から変えることが全っ然うまくいかなかったのでメモ
正直、実装が正しいのかわからないけど
とりあえず実現したいようにはなった
調べてたくさん出た解決策
「Flutter status bar color」とかで調べまくったら、海外のサイトに
こうやればいいよ。的なのは簡単に見つかるんだけどAppBarを使用している自分のアプリだと反映されなかった。
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark);
普通であれば、これをbuildの時に書けばいいらしい。
ただ、AppBarを使用しているとこのように全く反映されない。
背景白だと消えて見えるね。
AppBarを使用する時
ぐぐっても見つからなかったので、とりあえずFlutterの中でなにやっているか確認してみた
final SystemUiOverlayStyle overlayStyle = brightness == Brightness.dark
? SystemUiOverlayStyle.light
: SystemUiOverlayStyle.dark;
app_bar.dartの中でSystemUiOverlayStyleを上書きしてるっぽくて
これのせいで、白に戻っていた。
なので、とりあえずこの条件式に合うように
appBar: AppBar(
backgroundColor: Colors.white,
brightness: Brightness.light,
),
一応うまくいっているようには見える。
ただ、brightness
がどのような仕様かは調べてないので
自己責任でお願いします。
brightness...輝度?