【问题标题】:Cannot provide both a color and a decoration to a Container不能同时为容器提供颜色和装饰
【发布时间】:2020-11-01 17:02:48
【问题描述】:

每次我重新启动代码以检查应用程序时,我都会遇到一个错误,提示 不能同时提供颜色和装饰,颜色参数只是“装饰:新 Boxdecoration(颜色:颜色) " 也许它是真的,我有一个错误,但它没有说它在哪里? 当我删除字体大小、小部件或与错误无关的内容并重新加载应用程序时,应用程序启动时没有任何问题或错误显示...


import './ui/TransAction.dart';
import './ui/SheetStack.dart';

void main() => runApp(MoneyMain());

class MoneyMain extends StatelessWidget {
  final String appName = 'Money Check';
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        floatingActionButtonTheme:
            FloatingActionButtonThemeData(backgroundColor: Colors.grey),
      ),
      debugShowCheckedModeBanner: false,
      title: appName,
      home: MoneyCheckHome(appName),
    );
  }
}

class MoneyCheckHome extends StatefulWidget {
  final String appName;
  MoneyCheckHome(this.appName);

  @override
  _MoneyCheckHomeState createState() => _MoneyCheckHomeState(appName);
}

class _MoneyCheckHomeState extends State<MoneyCheckHome> {
  final String appName;
  _MoneyCheckHomeState(this.appName);

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        appBar: AppBar(
          title: Text(appName),
        ),
        body: Container(
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.center,
            children: <Widget>[
              SheetStack(),
              TransAction(),
            ],
          ),
        ),
      ),
    );
  }
}
import '../ux/TransActionUx.dart';

class TransAction extends StatefulWidget {
  @override
  _TransActionState createState() => _TransActionState();
}

class _TransActionState extends State<TransAction> {
  List<TransActionUx> tr = [];

  _TransActionState() {
    tr = [
      TransActionUx(
        title: 'New_shoes',
        date: DateTime.now(),
        price: 22.99,
        id: DateTime.now(),
      ),
      TransActionUx(
        title: 'new_shirt',
        date: DateTime.now(),
        price: 10.99,
        id: DateTime.now(),
      ),
      TransActionUx(
        title: 'new_shirt',
        date: DateTime.now(),
        price: 10.99,
        id: DateTime.now(),
      ),
    ];
  }

  Widget trMaker(List tr) {
    return Container(
      width: double.infinity,
      decoration: BoxDecoration(
        borderRadius: BorderRadius.circular(10),
      ),
      child: Column(
          crossAxisAlignment: CrossAxisAlignment.center,
          mainAxisAlignment: MainAxisAlignment.center,
          children: tr.map((trElemEnt) {
            return Container(
              child: Card(
                margin: EdgeInsets.all(10),
                elevation: 5,
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.start,
                  children: <Widget>[
                    Container(
                      margin: EdgeInsets.all(5.0),
                      child: CircleAvatar(
                        radius: 25,
                        child: Text(
                          trElemEnt.price.toString(),
                        ),
                      ),
                    ),
                    Container(
                      padding: EdgeInsets.only(left: 5.0),
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: <Widget>[
                          Text(
                            trElemEnt.title,
                            style: TextStyle(fontWeight: FontWeight.bold),
                          ),
                          SizedBox(
                            height: 3.0,
                          ),
                          Text(
                            trElemEnt.date.toString(),
                            style: TextStyle(
                                fontSize: 11,
                                color: Colors.grey,
                                fontWeight: FontWeight.bold),
                          )
                        ],
                      ),
                    )
                  ],
                ),
              ),
            );
          }).toList()),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        trMaker(tr),
      ],
    );
  }
} ```

【问题讨论】:

  • 它不在您共享的代码中 → 它在其他地方。
  • 你能分享你的代码,你在哪里给 Container() 小部件提供颜色和装饰
  • 真的!!我删除了颜色!但仍然给出错误......这正是我的问题 - 当我重新加载应用程序或在某处删除(字体大小)之类的东西时,应用程序运行并且不显示错误!但是当我重新启动时,应用程序再次显示错误

标签: flutter dart flutter-container


【解决方案1】:

尝试像这样在decoration 中添加color

Container(
  decoration: BoxDecoration(
    color: Colors.red
  ),
  child: //add you desired code here
),

这绝对会帮助你

【讨论】:

  • 如果你看代码,我删除了颜色!但还是报错...
【解决方案2】:

你不能同时给 Container() 颜色和装饰。如果你想为 Container 赋予颜色和装饰,请在 Boxdecoration() 中赋予颜色。下面的代码将起作用。

Container(
decoration: BoxDecoration(
color: Colors.blue,
borderRadius: BorderRadius.circular(10),
)),

【讨论】:

  • 如果你看代码,我删除了颜色!但是还是报错...
  • 你遇到了什么错误。你可以通过 github 分享完整的项目吗?我将运行并检查到底是什么问题......
猜你喜欢
  • 2019-05-09
  • 1970-01-01
  • 2020-06-08
  • 2022-11-14
  • 1970-01-01
  • 2020-09-24
  • 2011-06-29
  • 2018-11-07
  • 2012-12-22
相关资源
最近更新 更多