SystemChrome.setEnabledSystemUIOverlays([])
devrait faire ce que vous voulez.
Vous pouvez le ramener avec SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values)
.
Importez-le en utilisant
import 'package:flutter/services.Dart';
Vous pouvez utiliser SystemChrome.setEnabledSystemUIOverlays([])
pour masquer et SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values)
pour le ramener.
Cependant, il y aura une légère zone grise et il n'y a pas de solution pour le moment. Lorsque la barre d'état est masquée, la hauteur de la barre d'application reste la même.
Voir le numéro de github: https://github.com/flutter/flutter/issues/14432
Ce commentaire de Jonah Williams pourrait également être utile dans certaines situations https://github.com/flutter/flutter/issues/24472#issuecomment-440015464 Si vous ne souhaitez pas connaître le statut la couleur de la barre doit être remplacée par la barre d’application.
Vous ne pouvez pas fournir de couleur à la barre d’application dans la barre d’état, mais vous pouvez créez votre propre région annotée. Ce n'est pas très intuitif en ce moment, mais vous pouvez utiliser
sized: false
pour remplacer la région annotée enfant créé par la barre d'applications.Quelque part, peut-être en tant qu'enfant de l'échafaud:
Scaffold( body: AnnotatedRegion<SystemUiOverlayStyle>( value: const SystemUiOverlayStyle(...), sized: false, child: ... ) );
Notez que toutes les versions d'Android ne prennent pas en charge la couleur ou l'icône de la barre d'état luminosité. Voir la documentation sur SystemUiOverlayStyle pour le mises en garde.
Vous pouvez ajouter le code ci-dessous dans votre fonction principale pour masquer la barre d'état.
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
statusBarColor: Colors.transparent,
));