homeRoute.dart 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter/services.dart';
  3. import 'package:fluttertoast/fluttertoast.dart';
  4. import '../pages/login.dart';
  5. import '../utils/constants.dart';
  6. // 登陆页面代理 阻止返回按钮
  7. class HomeRoute extends StatefulWidget {
  8. @override
  9. createState() {
  10. return HomeRouteState();
  11. }
  12. }
  13. class HomeRouteState extends State<HomeRoute> {
  14. var status = false;
  15. DateTime _lastPressedAt; //上次点击时间
  16. showTips() {
  17. Fluttertoast.showToast(msg: Exit_Tips);
  18. }
  19. @override
  20. Widget build(BuildContext context) {
  21. return GestureDetector(
  22. onDoubleTap: () {
  23. return status = true;
  24. },
  25. child: WillPopScope(
  26. onWillPop: () async {
  27. if (_lastPressedAt == null) {
  28. showTips();
  29. _lastPressedAt = DateTime.now();
  30. } else {
  31. if (DateTime.now().difference(_lastPressedAt) <
  32. Duration(seconds: 1)) {
  33. // 退出程序
  34. await SystemChannels.platform.invokeMethod('SystemNavigator.pop');
  35. } else {
  36. showTips();
  37. _lastPressedAt = DateTime.now();
  38. }
  39. }
  40. return false;
  41. },
  42. child: LoginPage(),
  43. ),
  44. );
  45. }
  46. }