fix: nav bar

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2024-11-24 13:16:22 +08:00
parent bcefaa123e
commit 0ff53ddbde
2 changed files with 11 additions and 29 deletions

View File

@@ -1,11 +1,9 @@
import 'dart:async'; import 'dart:async';
import 'dart:io';
import 'package:PiliPalaX/grpc/grpc_repo.dart'; import 'package:PiliPalaX/grpc/grpc_repo.dart';
import 'package:PiliPalaX/pages/dynamics/view.dart'; import 'package:PiliPalaX/pages/dynamics/view.dart';
import 'package:PiliPalaX/pages/home/view.dart'; import 'package:PiliPalaX/pages/home/view.dart';
import 'package:PiliPalaX/pages/media/view.dart'; import 'package:PiliPalaX/pages/media/view.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hive/hive.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 { void getUnreadDynamic() async {
if (!userLogin.value || dynIndex == null || dynIndex == -1) { if (!userLogin.value || dynIndex == null || dynIndex == -1) {
return; return;

View File

@@ -1,7 +1,9 @@
import 'dart:async'; import 'dart:async';
import 'dart:io';
import 'package:PiliPalaX/grpc/grpc_client.dart'; import 'package:PiliPalaX/grpc/grpc_client.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:hive/hive.dart'; import 'package:hive/hive.dart';
import 'package:PiliPalaX/models/common/dynamic_badge_mode.dart'; import 'package:PiliPalaX/models/common/dynamic_badge_mode.dart';
@@ -129,12 +131,15 @@ class _MainAppState extends State<MainApp>
return PopScope( return PopScope(
canPop: false, canPop: false,
onPopInvokedWithResult: (bool didPop, Object? result) async { onPopInvokedWithResult: (bool didPop, Object? result) async {
_mainController.onBackPressed(context); if (_mainController.selectedIndex != 0) {
if (_dynamicController.flag) { setIndex(0);
_dynamicController.flag = false; _mainController.bottomBarStream.add(true);
} } else {
if (!_homeController.flag) { if (Platform.isAndroid) {
_homeController.flag = true; const MethodChannel("onUserLeaveHint").invokeMethod('back');
} else {
SystemNavigator.pop();
}
} }
}, },
child: LayoutBuilder( child: LayoutBuilder(