【问题标题】:Flutter two widgets in body?在正文中颤动两个小部件?
【发布时间】:2020-11-11 17:25:41
【问题描述】:

所以我的 Flutter 应用运行良好,但是我想对其进行一些更改。

我想要做的第一个更改是创建一个水平滚动小部件,其中包含可点击的图片来更换站。

但要做到这一点,我首先需要将两个小部件合二为一。

在我的 home_widget.dart 文件中,我有以下代码:

final List<Widget> _children = [TracksWidget(),
        NewsWidget(),
        AboutWidget()];

上面的代码改变了 home_widget.dart 部分的 body 部分。但现在我想要做的是将 StationsWidget() 添加到 TrackWidget() 的底部 - 注意这个小部件每 30 秒刷新一次。所以理想情况下,我需要确保它不会随之刷新。

那么一个body可以有两个widget吗?

test.dart 的完整代码(这是我尝试添加小部件的地方)

import 'package:flutter/material.dart';

import 'trackswidget.dart';

class TestWidget extends StatelessWidget {
  // final Color color;

//  PlaceholderWidget(this.color);

  @override
  Widget build(BuildContext context) {


    double c_width = MediaQuery.of(context).size.width;

    return new Container (
      padding: const EdgeInsets.all(16.0),
      margin: const EdgeInsets.only(bottom: 0.0),
      width: c_width,
      child: new SingleChildScrollView(
        child: new Column (
          children: <Widget>[
            Column(
            children: <Widget>[
              Child: TracksWidget()
            ],

        ),


            Column(
              children: <Widget>[
                new Text('Advertise on ',style: TextStyle(color: Colors.black, fontSize: 20.0),),
                Row(
                    mainAxisAlignment: MainAxisAlignment.center,
                    children:
                ),
              ],
            ),
          ]
        ),
      ),
    );
  }

}

我得到的错误是

'Widget' 来自'package:flutter/src/widgets/framework.dart' ('/C:/src/flutter/packages/flutter/lib/src/widgets/framework.dart')。 尝试更改参数的类型,或将参数转换为“列表”。 孩子:TracksWidget,

只是为了让你们都知道我想要实现的目标。我们重新设计了我们的 iOS Swift 应用,现在希望我们的 Flutter 应用与之匹配。

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    严格来说,body 恰好是 一个 Widget。如果你通过null,你可以说它需要none,但你不能通过多个。

    但是,有些小部件将其他小部件分组。您的一个 body 小部件也可以是 Row,并且该行可以有多个子小部件。

    你已经在你的标题中这样做了。

    可以在in the documentation找到一个很好的图形表示。

    【讨论】:

    • 但是我可以添加两行吗?抱歉仍在学习 - 还更新了我的问题,并附上了我们正在努力实现的目标的屏幕截图。
    • 仍在阅读(不是真正的好读者)我更像是一个视觉学习者。
    • 我试图创建一个 TestWidget,它有一列然后请求 TrackWidget() 但没有成功。
    • 我已使用来自 TestWidget.dart 的示例和错误代码 @nvoigt 更新了问题
    • 只需删除“孩子:”:Column( children: [ TracksWidget() ] ),
    猜你喜欢
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 2019-03-19
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    相关资源
    最近更新 更多