我的抽屉中有一个简单的开关:
SwitchListTile(
title: Text("Dark Theme"),
value: darkThemeEnabled,
onChanged: (darkThemeEnabled) {
if (darkThemeEnabled) {
_themeChanger.setTheme(ThemeData.dark());
} else {
_themeChanger.setTheme(AppTheme.light);
}
)
启用“开关”后,它会变为我的黑暗主题,但是如何将其改回原来的主题?如何在禁用功能上运行? 我知道它一定很简单,但我目前仍处于困境。
答案 0 :(得分:0)
SwitchListTile(
title: Text("Dark Theme"),
value: darkThemeEnabled,
onChanged: (){
if(darkThemeEnabled)
doSometing();
}
)
答案 1 :(得分:0)
SwitchListTile小部件本身不管理状态。您可以创建一个StatefulWidget并调用setState来更新UI。
class OnOff extends StatefulWidget {
@override
_OnOffState createState() => _OnOffState();
}
class _OnOffState extends State<OnOff> {
bool flag = false;
@override
Widget build(BuildContext context) {
return SwitchListTile(
title: const Text('Change Me'),
value: flag,
onChanged: (bool value) {
setState(() {
flag = value;
});
},
);
}
}