release
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import 'dart:async';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
@@ -15,6 +16,8 @@ class CareController extends GetxController {
|
||||
final RxBool isCareButtonVisible = false.obs;
|
||||
final RxInt _careNavigationIndex = 0.obs;
|
||||
|
||||
Timer? _autoHideTimer;
|
||||
|
||||
bool get isCareModeEnabled => _isCareModeEnabled.value;
|
||||
String get userType => _userType.value;
|
||||
bool get pinyinEnabled => _pinyinEnabled.value;
|
||||
@@ -77,6 +80,40 @@ class CareController extends GetxController {
|
||||
|
||||
void toggleCareButtonVisibility() {
|
||||
isCareButtonVisible.value = !isCareButtonVisible.value;
|
||||
|
||||
// 如果显示关怀开关,启动3秒自动隐藏定时器
|
||||
if (isCareButtonVisible.value) {
|
||||
_startAutoHideTimer();
|
||||
} else {
|
||||
_cancelAutoHideTimer();
|
||||
}
|
||||
}
|
||||
|
||||
/// 启动自动隐藏定时器
|
||||
void _startAutoHideTimer() {
|
||||
_cancelAutoHideTimer();
|
||||
_autoHideTimer = Timer(const Duration(seconds: 3), () {
|
||||
isCareButtonVisible.value = false;
|
||||
});
|
||||
}
|
||||
|
||||
/// 取消自动隐藏定时器
|
||||
void _cancelAutoHideTimer() {
|
||||
_autoHideTimer?.cancel();
|
||||
_autoHideTimer = null;
|
||||
}
|
||||
|
||||
/// 重置自动隐藏定时器(用户交互时调用)
|
||||
void resetAutoHideTimer() {
|
||||
if (isCareButtonVisible.value) {
|
||||
_startAutoHideTimer();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
_cancelAutoHideTimer();
|
||||
super.onClose();
|
||||
}
|
||||
|
||||
Future<void> switchCareNavigation(int index) async {
|
||||
|
||||
Reference in New Issue
Block a user