You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
793 B
28 lines
793 B
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:get_storage/get_storage.dart';
|
|
|
|
class ThemeService {
|
|
final _box = GetStorage();
|
|
final _key = 'isDarkMode';
|
|
|
|
/// 获取主题模式
|
|
ThemeMode getThemeMode() {
|
|
final isDarkMode = isSavedDarkMode();
|
|
print('获取保存的主题: ${isDarkMode ? "暗黑" : "浅色"}');
|
|
return isDarkMode ? ThemeMode.dark : ThemeMode.light;
|
|
}
|
|
|
|
/// 是否是暗黑模式
|
|
bool isSavedDarkMode() {
|
|
final value = _box.read(_key);
|
|
print('从存储读取主题设置: $value');
|
|
return value ?? false;
|
|
}
|
|
|
|
/// 保存主题模式到本地存储
|
|
void saveThemeMode(bool isDarkMode) {
|
|
print('保存主题设置: ${isDarkMode ? "暗黑" : "浅色"}');
|
|
_box.write(_key, isDarkMode);
|
|
}
|
|
}
|