错误:没有名为“color”Flutter的命名参数

1tuwyuhd  于 2023-01-18  发布在  Flutter
关注(0)|答案(5)|浏览(133)

我是Dart & Flutter的新手,遇到了一个问题。我正在学习布局,并对文本和按钮小部件进行细微的UI更改。这里我正在尝试将ElevatedButton的颜色更改为blue

import 'package:flutter/material.dart';

class Answer extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      width: double.infinity,
      child: ElevatedButton(
        color: Colors.blue,
        child: Text('Answer 1'),
        onPressed: null,
      ),
    );
  }
}

当我运行代码时,我得到这个错误:
Error: no named parameter with the name 'color'
我以为按钮有你可以改变的颜色参数。实现这一点的正确方法是什么?

a0zr77ik

a0zr77ik1#

可以使用样式From设置ElevatedButton的样式

ElevatedButton(
      child: const Text('Button'),
      onPressed: () {},
      style: ElevatedButton.styleFrom(
          primary: Colors.purple,
    ),

也可以使用ButtonStyle类

ElevatedButton(
      child: const Text('Button'),
      onPressed: () {},
      style: ButtonStyle(
          backgroundColor: MaterialStateProperty.all(Colors.red),
    ),
qco9c6ql

qco9c6ql2#

ElevatedButton(
  style: ElevatedButton.styleFrom({
    Color primary, // set the background color 
    Color onPrimary,  // foreground
  }),
),
pcrecxhr

pcrecxhr3#

在Flutter中,一些小部件处理用于一般应用主题目的的样式和主题,因此它不允许直接更改颜色,而是使用样式参数:

ElevatedButton(
  style: ElevatedButton.styleFrom({
    Color primary: Colors.green,
    Color onPrimary: Colors.white,  
  }),
),

欲了解更多信息,请访问Flutter documents ElevatedButton.styeFrom并尝试不同的参数。
欢迎来到Flutter

lyr7nygr

lyr7nygr4#

可以通过以下方式设置ElevatedButton的样式:

ElevatedButton(
       style: ButtonStyle(
             backgroundColor: MaterialStateProperty
             .all<Color>(Colors.blue),
             foregroundColor: MaterialStateProperty
            .all<Color>(Colors.white),
        ),
      child: Text('your text'),
      onPressed: null,
),
r7xajy2e

r7xajy2e5#

更新你的flutter SDK。这是因为SDK没有更新。
要更新flutter SKD,请从Windows打开CMD并命令“flutter upgrade”。

相关问题