it-swarm.com.de

Android-Statusleiste in der Flatter-App ausblenden

Wie kann ich die Android-Statusleiste in einer Flatter-App ausblenden?

 Android Status Bar

19
Pieter

SystemChrome.setEnabledSystemUIOverlays([]) sollte tun, was Sie wollen.

Sie können es mit SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values) zurückbringen.

Importiere es mit

import 'package:flutter/services.Dart';
34
Collin Jackson

Sie können SystemChrome.setEnabledSystemUIOverlays([]) zum Ausblenden verwenden und SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values), um es wieder herzustellen.

Es wird jedoch eine leichte Grauzone geben, für die es derzeit keine Korrektur gibt. Wenn die Statusleiste ausgeblendet ist, bleibt die Höhe der App-Leiste gleich.

Siehe die github-Ausgabe: https://github.com/flutter/flutter/issues/14432

2
goops17

Dieser Kommentar von Jonah Williams kann in bestimmten Situationen hilfreich sein https://github.com/flutter/flutter/issues/24472#issuecomment-440015464 Falls Sie den Status nicht möchten Balkenfarbe wird von der AppBar überschrieben.

Sie können der App-Leiste keine Farbe für die Statusleiste angeben, Sie können jedoch Erstellen Sie Ihre eigene kommentierte Region. Es ist im Moment nicht sehr intuitiv, Sie können jedoch sized: false verwenden, um den untergeordneten Anmerkungsbereich zu überschreiben erstellt von der App-Leiste.

Irgendwo, vielleicht als Kind vom Gerüst:

Scaffold(
  body: AnnotatedRegion<SystemUiOverlayStyle>(
    value: const SystemUiOverlayStyle(...),
    sized: false,
    child: ...
  )
);

Beachten Sie, dass nicht alle Android-Versionen die Farbe oder das Symbol der Statusleiste unterstützen Helligkeit. In der Dokumentation zu SystemUiOverlayStyle finden Sie die Vorbehalte.

0

Fügen Sie zuerst SystemChrome.setEnabledSystemUIOverlays([]); zu Ihrer Hauptfunktion hinzu.

Dies hinterlässt eine leichte Grauzone, wie in den vorherigen Antworten erwähnt.

Ich habe eine einfache Lösung dafür (Nur eine Problemumgehung, funktioniert in den meisten Fällen jedoch).

In AppBar() einfach hinzufügen

backgroundColor: Colors.transparent,
elevation: 0.0,

Ich hoffe das hilft

Sie können den folgenden Code in Ihre Hauptfunktion einfügen, um die Statusleiste auszublenden.

SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
  statusBarColor: Colors.transparent,
));
0
Unnikrishnan