Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振-创建一个定制样式的容器小部件,其中;“项目”;子内容_Flutter_Flutter Widget_Flutter Get - Fatal编程技术网

Flutter 颤振-创建一个定制样式的容器小部件,其中;“项目”;子内容

Flutter 颤振-创建一个定制样式的容器小部件,其中;“项目”;子内容,flutter,flutter-widget,flutter-get,Flutter,Flutter Widget,Flutter Get,我想创建一个自定义容器小部件,它总是有渐变背景。原因是只在一个地方编码渐变,所以它可以在一个地方更改,但会影响整个应用程序 我认为: child: Container( height: double.infinity, width: double.infinity, padding: const EdgeInsets.all(40), decoration: BoxDecoration( gradient: LinearGradie

我想创建一个自定义容器小部件,它总是有渐变背景。原因是只在一个地方编码渐变,所以它可以在一个地方更改,但会影响整个应用程序

我认为:

child: Container(
      height: double.infinity,
      width: double.infinity,
      padding: const EdgeInsets.all(40),
      decoration: BoxDecoration(
        gradient: LinearGradient(
          begin: const Alignment(1, -1.0),
          end: const Alignment(-0.3, 0.0),
          colors: [
            initialGradientColor,
            Theme.of(context).colorScheme.primary
          ],
        ),
      ),
      child: Column(
        mainAxisAlignment: MainAxisAlignment.spaceEvenly,
        children: [...more code...
我可以这样提取到容器小部件吗

class GradientContainerWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      child: // ****************** project content into here... ****************
      height: double.infinity,
      width: double.infinity,
      padding: const EdgeInsets.all(40),
      decoration: BoxDecoration(
        gradient: LinearGradient(
          begin: const Alignment(1, -1.0),
          end: const Alignment(-0.3, 0.0),
          colors: [initialGradientColor, Theme.of(context).colorScheme.primary],
        ),
      ),
    );
  }
}
我需要找到一种方法将一个子项添加到GradientContainerWidget中。是否有办法将内容投影到小部件的子级

视图中的用法如下所示:

child: GradientContainerWidget(
                child: Column(mainAxisAlignment: MainAxisAlignment.spaceEvenly,
        children: [..... more children....])
            );

如果您正在研究如何添加一个子项,那么您可以创建一个构造函数并将其作为小部件传递

class GradientContainerWidget extends StatelessWidget {

  final Widget child;

  GradientContainerWidget({this.child}); //you can pass key to

  @override
  Widget build(BuildContext context) {
    return Container(
      child: child
      height: double.infinity,
      width: double.infinity,
      padding: const EdgeInsets.all(40),
      decoration: BoxDecoration(
        gradient: LinearGradient(
          begin: const Alignment(1, -1.0),
          end: const Alignment(-0.3, 0.0),
          colors: [initialGradientColor, Theme.of(context).colorScheme.primary],
        ),
      ),
    );
  }
}