首次提交:初始化项目
This commit is contained in:
59
lib/theme/app_theme.dart
Normal file
59
lib/theme/app_theme.dart
Normal file
@@ -0,0 +1,59 @@
|
||||
import 'package:fluent_ui/fluent_ui.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:system_theme/system_theme.dart';
|
||||
|
||||
enum NavigationIndicators { sticky, end }
|
||||
|
||||
class AppTheme extends ChangeNotifier {
|
||||
AccentColor? _color;
|
||||
AccentColor get color => _color ?? systemAccentColor;
|
||||
set color(AccentColor color) {
|
||||
_color = color;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
ThemeMode _mode = ThemeMode.system;
|
||||
ThemeMode get mode => _mode;
|
||||
set mode(ThemeMode mode) {
|
||||
_mode = mode;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
PaneDisplayMode _displayMode = PaneDisplayMode.compact;
|
||||
PaneDisplayMode get displayMode => _displayMode;
|
||||
set displayMode(PaneDisplayMode displayMode) {
|
||||
_displayMode = displayMode;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
NavigationIndicators _indicator = NavigationIndicators.sticky;
|
||||
NavigationIndicators get indicator => _indicator;
|
||||
set indicator(NavigationIndicators indicator) {
|
||||
_indicator = indicator;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
TextDirection _textDirection = TextDirection.ltr;
|
||||
TextDirection get textDirection => _textDirection;
|
||||
set textDirection(TextDirection direction) {
|
||||
_textDirection = direction;
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
|
||||
AccentColor get systemAccentColor {
|
||||
if ((defaultTargetPlatform == TargetPlatform.windows ||
|
||||
defaultTargetPlatform == TargetPlatform.android) &&
|
||||
!kIsWeb) {
|
||||
return AccentColor.swatch({
|
||||
'darkest': SystemTheme.accentColor.darkest,
|
||||
'darker': SystemTheme.accentColor.darker,
|
||||
'dark': SystemTheme.accentColor.dark,
|
||||
'normal': SystemTheme.accentColor.accent,
|
||||
'light': SystemTheme.accentColor.light,
|
||||
'lighter': SystemTheme.accentColor.lighter,
|
||||
'lightest': SystemTheme.accentColor.lightest,
|
||||
});
|
||||
}
|
||||
return Colors.blue;
|
||||
}
|
||||
Reference in New Issue
Block a user