Перечисление AppLifecycleState
Перечисление AppLifecycleState приходит в метод
didChangeAppLifecycleState.
Синтаксис
AppLifecycleState.resumed
Значения
| Значение | Описание |
|---|---|
detached | Приложение ещё не подключено к движку. |
resumed | На экране и получает ввод. |
inactive | Видно, но без фокуса. |
hidden | Не видно пользователю. |
paused | Свернуто, кадры остановлены. |
Пример
Давайте показать resumed:
import 'package:flutter/material.dart';
void main() => runApp(MaterialApp(home: Scaffold(body: Center(child: LifeText()))));
class LifeText extends StatefulWidget {
const LifeText({super.key});
@override State<LifeText> createState() => _LifeTextState();
}
class _LifeTextState extends State<LifeText> with WidgetsBindingObserver {
String t = 'abcde';
@override void initState() { super.initState(); WidgetsBinding.instance.addObserver(this); }
@override void dispose() { WidgetsBinding.instance.removeObserver(this); super.dispose(); }
@override void didChangeAppLifecycleState(AppLifecycleState s) { setState(() => t = s.name); }
@override Widget build(BuildContext c) => Text(t);
}
На экране имя фазы вместо 'abcde'.
Пример
Давайте сравнить с paused:
import 'package:flutter/material.dart';
void main() => runApp(MaterialApp(home: Scaffold(body: Center(child: Text('12345')))));
На экране '12345'.
Смотрите также
-
миксин
WidgetsBindingObserver,
слушает фазы -
метод
didChangeAppLifecycleState,
колбэк -
миксин
WidgetsBinding,
addObserver -
функция
debugPrint,
лог фазы