Flutter主题切换插件simple_theme_switcher的使用
Flutter主题切换插件simple_theme_switcher的使用
一个轻量级的Flutter包,用于轻松地在浅色和深色主题之间切换,并且只需少量设置。此插件简化了主题管理,使开发人员能够高效地切换主题。
功能
- 简单直观的主题管理。
- 在浅色和深色主题之间切换。
- 需要的配置最少。
安装
在pubspec.yaml
文件中添加simple_theme_switcher
依赖项:
dependencies:
simple_theme_switcher: ^latest
运行以下命令:
flutter pub get
使用方法
第一步:用STMaterialApp
包装你的应用
在main.dart
文件中,将MaterialApp
替换为STMaterialApp
:
import 'package:flutter/material.dart';
import 'package:simple_theme_switcher/simple_theme_switcher.dart';
void main() {
runApp(const STMaterialApp(child: MyApp()));
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const HomeScreen();
}
}
class HomeScreen extends StatelessWidget {
const HomeScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.primaryContainer,
title: Text(
'主题切换示例',
style: TextStyle(
color: Theme.of(context).colorScheme.onPrimaryContainer,
),
),
),
body: Center(
child: ElevatedButton(
onPressed: () {
final themeManager = ThemeManager();
themeManager.toggleTheme(
themeManager.currentThemeMode == AppThemeMode.light
? AppThemeMode.dark
: AppThemeMode.light,
seedColor: Colors.yellow, // 可选的种子颜色
);
},
child: const Text('切换主题'),
),
),
);
}
}
重要提示
- 不要同时使用
MaterialApp
和STMaterialApp
。这会导致冲突。 - 只需将
MaterialApp
替换为STMaterialApp
并传递任何所需的参数即可。
API
STMaterialApp
管理主题切换的组件。
const STMaterialApp({required Widget child});
更多关于Flutter主题切换插件simple_theme_switcher的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复