7 способов удалить строку состояния во Flutter – подробное руководство

Строка состояния в приложении Flutter предоставляет важную информацию, такую ​​как уровень заряда батареи устройства, подключение к сети и время. Однако в некоторых случаях вам может потребоваться удалить строку состояния, чтобы создать более захватывающий пользовательский интерфейс. В этой статье мы рассмотрим семь различных методов удаления строки состояния во Flutter, а также примеры кода для каждого подхода.

Метод 1: использование класса SystemChrome
Класс SystemChrome во Flutter предоставляет способ настройки пользовательского интерфейса системы, включая строку состояния. Чтобы удалить строку состояния, вы можете использовать метод SystemChrome.setEnabledSystemUIOverlaysи передать пустой список из значений SystemUiOverlay.

import 'package:flutter/services.dart';
void main() {
  SystemChrome.setEnabledSystemUIOverlays([]);
  runApp(MyApp());
}

Метод 2: установка StatusBarBrightness
Другой подход к удалению строки состояния – установить для свойства statusBarBrightnessкласса SystemUiOverlayStyleпрозрачный цвет.

import 'package:flutter/services.dart';
void main() {
  SystemChrome.setSystemUIOverlayStyle(
    SystemUiOverlayStyle(statusBarBrightness: Brightness.dark),
  );
  runApp(MyApp());
}

Метод 3: использование пакета FlutterStatusBarManager
FlutterStatusBarManager — это сторонний пакет, предоставляющий простой в использовании API для управления строкой состояния. Вы можете удалить строку состояния, вызвав метод FlutterStatusBarManager.hideStatusBar.

import 'package:flutter_statusbar_manager/flutter_statusbar_manager.dart';
void main() {
  FlutterStatusBarManager.hideStatusBar();
  runApp(MyApp());
}

Метод 4: использование пакета immersive_mode
Пакет immersive_mode предлагает простой способ включить режим погружения в приложениях Flutter, который скрывает как строку состояния, так и панель навигации. Чтобы удалить строку состояния, вы можете использовать метод ImmersiveMode.setImmersive.

import 'package:immersive_mode/immersive_mode.dart';
void main() {
  ImmersiveMode.setImmersive(ImmersiveMode.fullScreenSticky);
  runApp(MyApp());
}

Метод 5: настройка темы приложения
Вы также можете удалить строку состояния, настроив тему приложения. В виджете MaterialApp установите свойство themeи замените значение primaryColorBrightnessна Brightness.dark.

import 'package:flutter/material.dart';
void main() {
  runApp(MyApp());
}
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        brightness: Brightness.dark,
        primaryColorBrightness: Brightness.dark,
      ),
      home: MyHomePage(),
    );
  }
}

Метод 6: сделать строку состояния полупрозрачной
Если вы предпочитаете сделать строку состояния полупрозрачной, а не удалять ее полностью, вы можете добиться этого, установив свойства SystemChrome.

import 'package:flutter/services.dart';
void main() {
  SystemChrome.setSystemUIOverlayStyle(
    SystemUiOverlayStyle(statusBarColor: Colors.transparent),
  );
  runApp(MyApp());
}

Метод 7: использование пакета flutter_native_splash
Пакет flutter_native_splash позволяет настраивать заставку и системные наложения, включая строку состояния. Настроив этот пакет, вы можете удалить строку состояния из вашего приложения Flutter.

В этой статье мы рассмотрели семь различных способов удаления строки состояния в приложении Flutter. В зависимости от ваших требований вы можете выбрать наиболее подходящий подход. Независимо от того, используете ли вы класс SystemChrome, сторонние пакеты, такие как FlutterStatusBarManager или immersive_mode, или настраиваете тему приложения, у вас есть множество вариантов создания более захватывающего пользовательского опыта.