我正在尝试创建一个函数,在 buildKey 下我可以输入两个元素,即背景颜色和 soundNumber,以便在调用 buildKey 时我可以输入 buildKey(red, 2) 或 buildKey(colName: red, soundNumber: 2)等等
soundNumber 元素有效,但是无论我尝试什么,我都无法获得有效的背景颜色输入。
非常感谢任何帮助。
class _MyHomePageState extends State<MyHomePage> {
void playSound(int noteNumber) {
AssetsAudioPlayer.newPlayer().open(
Audio("/assets/note$noteNumber.wav"),
);
}
Expanded buildKey({required MaterialColor color, required int soundNumber}) {
return Expanded(
child: TextButton(
style: TextButton.styleFrom(
backgroundColor: color,
),
onPressed: () {
playSound(soundNumber);
},
child: const Text(''),
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
body: SafeArea(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
buildKey(color: MaterialStateProperty.all(Colors.red), soundNumber: 1),
],
),
),
);
}
}