我正在做一个更大的项目,但不知道为什么这个小部分让我几乎呆了一整天。
import 'package:flutter/material.dart';
void main() {
runApp(const AllTests());
}
class AllTests extends StatefulWidget {
const AllTests({Key? key}) : super(key: key);
@override
_AllTestsState createState() => _AllTestsState();
}
class _AllTestsState extends State<AllTests> {
IconData play = Icons.play_circle_filled;
onPressed(){
if(play == Icons.play_circle_filled){
play == Icons.pause_circle_filled_rounded;
} else {
play == Icons.play_circle_filled;
}
}
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
IconButton(
icon: Icon(
play,
size: 80,
color: Colors.black,
),
onPressed: () {
setState(() {
print('hello');
onPressed();
});
},
),
],
),
),
),
);
}
}
我刚刚尝试在 AllTests() 之前删除const关键字,但它现在仍在工作。我也尝试将函数直接放入 IconButton 的 onPressed 中。
hello 被打印到控制台,但图标没有改变。有什么问题?