6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[Flutter備忘録] AppBarを使用するときにステータスバーの色を変更する方法

Posted at

概要

AppBarのbackgroundColorをwhiteにしたとき、
ステータスバーの色を白から変えることが全っ然うまくいかなかったのでメモ

正直、実装が正しいのかわからないけど
とりあえず実現したいようにはなった

調べてたくさん出た解決策

「Flutter status bar color」とかで調べまくったら、海外のサイトに
こうやればいいよ。的なのは簡単に見つかるんだけどAppBarを使用している自分のアプリだと反映されなかった。

SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark);

普通であれば、これをbuildの時に書けばいいらしい。
ただ、AppBarを使用しているとこのように全く反映されない。
スクリーンショット 2019-07-17 23.21.13.png
背景白だと消えて見えるね。

AppBarを使用する時

ぐぐっても見つからなかったので、とりあえずFlutterの中でなにやっているか確認してみた

    final SystemUiOverlayStyle overlayStyle = brightness == Brightness.dark
      ? SystemUiOverlayStyle.light
      : SystemUiOverlayStyle.dark;

app_bar.dartの中でSystemUiOverlayStyleを上書きしてるっぽくて
これのせいで、白に戻っていた。

なので、とりあえずこの条件式に合うように

    appBar: AppBar(
      backgroundColor: Colors.white,
      brightness: Brightness.light,
    ),
スクリーンショット 2019-07-17 23.26.16.png

一応うまくいっているようには見える。
ただ、brightnessがどのような仕様かは調べてないので
自己責任でお願いします。
brightness...輝度?

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?