【发布时间】:2021-10-09 07:54:26
【问题描述】:
我有以下示例使用 Getx 从暗模式更改为亮模式。到目前为止,它正在工作。但我也希望改变主题的 IconButton 也会改变是自己的图标。 我做错了什么?
import 'package:flutter/material.dart';
import 'package:get/get.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GetMaterialApp(
debugShowCheckedModeBanner: false,
title: 'Change Theme',
darkTheme: ThemeData.dark(),
themeMode: ThemeMode.system,
home: HomeScreen(),
);
}
}
// Home Screen
class HomeScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
var selected = true;
return Scaffold(
appBar: AppBar(
title: Text('Change Theme'),
actions: [
IconButton(
icon: Icon(
selected ? Icons.dark_mode : Icons.light_mode,
),
onPressed: () {
Get.isDarkMode
? Get.changeTheme(ThemeData.light())
: Get.changeTheme(ThemeData.dark());
})
],
),
);
}
}
【问题讨论】:
-
嗨奥古斯丁。我已经尝试过替换。主题改变,但图标不变。
标签: flutter dart flutter-getx