声音功能

This commit is contained in:
Developer
2026-03-30 21:30:11 +08:00
parent ecffddbc6f
commit 4cd7629f61
15 changed files with 703 additions and 126 deletions

View File

@@ -25,10 +25,12 @@ class _AppFunSettingsPageState extends State<AppFunSettingsPage> {
bool _darkModeEnabled = false;
bool _preloadEnabled = true;
bool _notificationEnabled = true;
bool _globalTipsEnabled = true; // 添加全局Tips开关状态
int _cacheSize = 128;
static const String _autoRefreshKey = 'auto_refresh_enabled';
static const String _debugInfoKey = 'debug_info_enabled';
static const String _globalTipsKey = 'global_tips_enabled'; // 添加全局Tips开关key
@override
void initState() {
@@ -42,6 +44,8 @@ class _AppFunSettingsPageState extends State<AppFunSettingsPage> {
setState(() {
_autoRefreshEnabled = prefs.getBool(_autoRefreshKey) ?? false;
_debugInfoEnabled = prefs.getBool(_debugInfoKey) ?? false;
_globalTipsEnabled =
prefs.getBool(_globalTipsKey) ?? true; // 加载全局Tips开关状态
_preloadEnabled = prefs.getBool('preload_enabled') ?? true;
});
}
@@ -78,6 +82,17 @@ class _AppFunSettingsPageState extends State<AppFunSettingsPage> {
}
}
// 设置全局Tips开关
Future<void> _setGlobalTips(bool value) async {
final prefs = await SharedPreferences.getInstance();
await prefs.setBool(_globalTipsKey, value);
if (mounted) {
setState(() {
_globalTipsEnabled = value;
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -143,8 +158,8 @@ class _AppFunSettingsPageState extends State<AppFunSettingsPage> {
'全局Tips开关',
'显示一些使用技巧',
Icons.volume_up,
_soundEnabled,
(value) => setState(() => _soundEnabled = value),
_globalTipsEnabled,
(value) => _setGlobalTips(value),
),
_buildSwitchItem(
'声音反馈',
@@ -420,6 +435,7 @@ class _AppFunSettingsPageState extends State<AppFunSettingsPage> {
setState(() {
_soundEnabled = true;
_vibrationEnabled = true;
_globalTipsEnabled = true; // 重置全局Tips开关为开启
_darkModeEnabled = false;
_notificationEnabled = true;
});