circle_app/circle_app/lib/view/ExitAppConfirmation.dart
2023-07-17 14:37:28 +08:00

41 lines
1.0 KiB
Dart

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import '../util/util.dart';
class ExitAppConfirmation extends StatefulWidget {
final Widget child;
ExitAppConfirmation({required this.child});
@override
_ExitAppConfirmationState createState() => _ExitAppConfirmationState();
}
class _ExitAppConfirmationState extends State<ExitAppConfirmation> {
DateTime? _lastPressed;
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: _onBackPressed,
child: widget.child,
);
}
Future<bool> _onBackPressed() {
final currentTime = DateTime.now();
if (_lastPressed == null ||
currentTime.difference(_lastPressed!) > Duration(seconds: 2)) {
_lastPressed = currentTime;
// ScaffoldMessenger.of(context).showSnackBar(
// const SnackBar(content: Text('再按一次返回键退出应用')),
// );
showToast("再按一次返回键退出应用");
return Future.value(false);
}
return Future.value(true);
}
}