From 0ff53ddbdef122394a7175feb955314f3829504e Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Sun, 24 Nov 2024 13:16:22 +0800 Subject: [PATCH] fix: nav bar Signed-off-by: bggRGjQaUbCoE --- lib/pages/main/controller.dart | 23 ----------------------- lib/pages/main/view.dart | 17 +++++++++++------ 2 files changed, 11 insertions(+), 29 deletions(-) diff --git a/lib/pages/main/controller.dart b/lib/pages/main/controller.dart index ad4aa54cd..b42f5a638 100644 --- a/lib/pages/main/controller.dart +++ b/lib/pages/main/controller.dart @@ -1,11 +1,9 @@ import 'dart:async'; -import 'dart:io'; import 'package:PiliPalaX/grpc/grpc_repo.dart'; import 'package:PiliPalaX/pages/dynamics/view.dart'; import 'package:PiliPalaX/pages/home/view.dart'; import 'package:PiliPalaX/pages/media/view.dart'; -import 'package:flutter/services.dart'; import 'package:get/get.dart'; import 'package:flutter/material.dart'; import 'package:hive/hive.dart'; @@ -57,27 +55,6 @@ class MainController extends GetxController { } } - void onBackPressed(BuildContext context) { - // if (_lastPressedAt == null || - // DateTime.now().difference(_lastPressedAt!) > - // const Duration(seconds: 2)) { - // 两次点击时间间隔超过2秒,重新记录时间戳 - // _lastPressedAt = DateTime.now(); - if (selectedIndex != 0) { - pageController.jumpTo(0); - } else { - if (Platform.isAndroid) { - const MethodChannel("onUserLeaveHint").invokeMethod('back'); - } else { - SystemNavigator.pop(); // 退出应用 - } - } - // SmartDialog.showToast("再按一次退出PiliPalaX"); - // return; // 不退出应用 - // } - // SystemNavigator.pop(); // 退出应用 - } - void getUnreadDynamic() async { if (!userLogin.value || dynIndex == null || dynIndex == -1) { return; diff --git a/lib/pages/main/view.dart b/lib/pages/main/view.dart index 6acab3e52..43a365874 100644 --- a/lib/pages/main/view.dart +++ b/lib/pages/main/view.dart @@ -1,7 +1,9 @@ import 'dart:async'; +import 'dart:io'; import 'package:PiliPalaX/grpc/grpc_client.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:get/get.dart'; import 'package:hive/hive.dart'; import 'package:PiliPalaX/models/common/dynamic_badge_mode.dart'; @@ -129,12 +131,15 @@ class _MainAppState extends State return PopScope( canPop: false, onPopInvokedWithResult: (bool didPop, Object? result) async { - _mainController.onBackPressed(context); - if (_dynamicController.flag) { - _dynamicController.flag = false; - } - if (!_homeController.flag) { - _homeController.flag = true; + if (_mainController.selectedIndex != 0) { + setIndex(0); + _mainController.bottomBarStream.add(true); + } else { + if (Platform.isAndroid) { + const MethodChannel("onUserLeaveHint").invokeMethod('back'); + } else { + SystemNavigator.pop(); + } } }, child: LayoutBuilder(