Files
BudgetApp/lib/theme/app_theme.dart
T
2025-06-09 14:40:57 +03:00

81 lines
3.1 KiB
Dart

import 'package:flutter/material.dart';
class AppTheme {
// Светлая тема в черно-белой гамме
static ThemeData lightTheme() {
return ThemeData(
useMaterial3: true,
colorScheme: ColorScheme.fromSeed(
seedColor: Colors.grey, // Серый как базовый цвет
brightness: Brightness.light,
primary: Colors.black, // Основной цвет - черный
secondary: Colors.grey[800]!, // Вторичный цвет - темно-серый
surface: Colors.white, // Фон поверхностей
background: Colors.grey[50]!, // Общий фон - очень светлый серый
),
appBarTheme: const AppBarTheme(
backgroundColor: Colors.white, // Белый фон AppBar
foregroundColor: Colors.black, // Черный цвет иконок и текста
elevation: 0, // Убираем тень
centerTitle: true, // Центрируем заголовок
),
cardTheme: CardThemeData(
elevation: 1, // Легкая тень
margin: const EdgeInsets.all(8),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
),
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(
foregroundColor: Colors.white,
backgroundColor: Colors.black, // Черные кнопки
padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 12),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
),
),
),
);
}
// Темная тема в черно-белой гамме
static ThemeData darkTheme() {
return ThemeData(
useMaterial3: true,
colorScheme: ColorScheme.fromSeed(
seedColor: Colors.grey,
brightness: Brightness.dark,
primary: Colors.white, // Основной цвет - белый
secondary: Colors.grey[300]!, // Вторичный цвет - светлый серый
surface: Colors.grey[900]!, // Фон поверхностей
background: Colors.black, // Общий фон - черный
),
appBarTheme: AppBarTheme(
backgroundColor: Colors.grey[900]!, // Темно-серый фон AppBar
foregroundColor: Colors.white, // Белый цвет иконок и текста
elevation: 0,
centerTitle: true,
),
cardTheme: CardThemeData(
elevation: 1,
margin: const EdgeInsets.all(8),
color: Colors.grey[800], // Темные карточки
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
),
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(
foregroundColor: Colors.black,
backgroundColor: Colors.white, // Белые кнопки
padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 12),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
),
),
),
);
}
}