flutter - 在 LIGHT 和 DARK 主题之间切换 (flutter_neumorphic: ^2.0.0)
问题描述
我使用 flutter_neumorphic: ^2.0.0 包给我的应用程序一个很酷的外观,我喜欢添加一个切换来在 LIGHT 和 DARK 之间切换。不幸的是,我是编码新手,我不能自己做这个切换按钮,请你帮帮我。
谢谢
import 'package:babysoundtrips/screens/sound_screen.dart';
import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
void main() => runApp(BabySoundTrips());
class BabySoundTrips extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: NeumorphicTheme(
usedTheme: UsedTheme.LIGHT,
theme: NeumorphicThemeData(
baseColor: Color(0xFFFFFFFF),
lightSource: LightSource.topLeft,
depth: 10,
),
darkTheme: NeumorphicThemeData(
baseColor: Color(0xFF3E3E3E),
lightSource: LightSource.topLeft,
depth: 6,
),
child: SoundScreen(),
),
initialRoute: SoundScreen.id,
routes: {
SoundScreen.id: (context) => SoundScreen(),
},
);
}
}
解决方案
这是切换按钮的示例
FlatButton(
child: Row(
children: <Widget>[
Expanded(child: Text("Change theme")),
Switch(
value: true,
onChanged: null),
],
),
onPressed: () {
// handle change value here
},
);
此片段代码需要嵌入到有状态小部件中,并将您要更改的值传递给 Switch 值,并通过我的评论“//在此处处理更改值”更新此值。
推荐阅读
- c# - C# Mongo 客户端在故障转移后永远卡在没有主节点
- security - 多租户应用程序的内容安全策略 (CSP)
- python - Pytest 引发不适用于自定义异常
- sql - 分配计数达到最大值均匀分布
- javascript - 在特定的div中添加vue js动态表单元素
- javascript - 使用 TypeScript 和 Babel(没有任何捆绑程序)为 Node 和现代浏览器构建 JavaScript,可能吗?
- python - ModuleNotFoundError,试图使用 binance.websockets
- r - 如何使用 R 将排行榜重新塑造成不同的格式?
- javascript - 如何通过 websocket 将我的客户端连接到服务器,服务器连接到另一台服务器
- php - 多对多关系只允许从一侧添加 Symfony