Flutter 如果启用,则切换
我的抽屉里有一个简单的开关:Flutter 如果启用,则切换,flutter,dart,Flutter,Dart,我的抽屉里有一个简单的开关: SwitchListTile( 标题:文本(“黑色主题”), 值:暗设为已启用, 一旦更改:(暗色显示){ 如果(暗设){ _setTheme(ThemeData.dark()); }否则{ _setTheme(AppTheme.light); } ) 当我启用开关时,它将更改为我的黑暗主题,但我如何才能将其更改回原来的状态?我如何才能在禁用时运行某些东西? 我知道它一定很简单,但我现在被卡住了。SwitchListTile小部件本身不管理状态。您可以创建一个St
SwitchListTile(
标题:文本(“黑色主题”),
值:暗设为已启用,
一旦更改:(暗色显示){
如果(暗设){
_setTheme(ThemeData.dark());
}否则{
_setTheme(AppTheme.light);
}
)
当我启用开关时,它将更改为我的黑暗主题,但我如何才能将其更改回原来的状态?我如何才能在禁用时运行某些东西?
我知道它一定很简单,但我现在被卡住了。SwitchListTile小部件本身不管理状态。您可以创建一个StatefulWidget并调用setState来更新UI
SwitchListTile(
title: Text("Dark Theme"),
value: darkThemeEnabled,
onChanged: (){
if(darkThemeEnabled)
doSometing();
}
)
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;
});
},
);
}
}
类OnOff扩展了StatefulWidget{
@凌驾
_OnOffState createState()=>\u OnOffState();
}
类_OnOffState扩展了状态{
布尔标志=假;
@凌驾
小部件构建(构建上下文){
返回SwitchListTile(
标题:常量文本(“更改我”),
值:flag,
一旦更改:(布尔值){
设置状态(){
标志=值;
});
},
);
}
}
使用此选项,我可以在启用时运行某些内容,但如果禁用则无法运行。else doSometing2();请确保使用(setState)查看更改