小编Aqe*_*hal的帖子

如何从功能更改 Flutter 中高架按钮的背景颜色?

我是 Flutter 的新手,我上周开始使用 Flutter,现在我想做一个简单的 Xylophone 应用程序。我成功创建了 UI 并创建了一个函数,playSound(int soundNumber)但是当我调用这个函数来播放声音时,它给了我这个错误。

**The following _TypeError was thrown building Body(dirty, state: _BodyState#051c2):
type '_MaterialStatePropertyAll<dynamic>' is not a subtype of type 'MaterialStateProperty<Color?>?'**
Run Code Online (Sandbox Code Playgroud)

这是我为playSound(int soundNumber)函数编写的代码。

void playSound(int soundNumber) {
final player = AudioCache();
player.play('note$soundNumber.wav');}

Expanded buildPlayButton({MaterialStateProperty color, int soundNumber}){
return Expanded(
  child: ElevatedButton(
    onPressed: () {
      playSound(soundNumber);
    },
    style: ButtonStyle(
      backgroundColor: color,
    ),
  ),
);}
Run Code Online (Sandbox Code Playgroud)

这是我调用这个函数的地方。

Widget build(BuildContext context) {
return Column(
  crossAxisAlignment: CrossAxisAlignment.stretch,
  children: <Widget>[
    buildPlayButton(color: MaterialStateProperty.all(Colors.red), soundNumber: 1),
    buildPlayButton(color: MaterialStateProperty.all(Colors.orangeAccent), …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout android-studio-4.2 flutter-functional-widget flutter-android

35
推荐指数
10
解决办法
5万
查看次数