【问题标题】:Flutter/Dart row is not centering within the remaining space颤振/飞镖行不在剩余空间内居中
【发布时间】:2020-02-24 19:18:48
【问题描述】:

我正在尝试使用 Flutter/Dart 将一组对象居中。我尝试了各种方法,但都失败了。我希望图标位于屏幕左侧,其余变量(行程、追随者和追随者)位于剩余空间的中心。根据我在 SO 上找到的一些解决方案,我使用 MainAxisAlignment 和 CrossAxisAlignment 类尝试了多种方法,但没有一个有效。我做错了什么?

       Column(
        children: <Widget>[
          ClipOval(
            child: Material(
              color: Colors.grey, // button color
              child: InkWell(
                child: SizedBox(
                  width: 80,
                  height: 80,
                  child: Align(
                    alignment: Alignment.center,
                    child: Icon(
                      Icons.person,
                      size: 65.0,
                    ),
                  ),
                ),
              ),
            ),
          )
        ],
      ),
      Column(
        children: <Widget>[
          Row(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
              crossAxisAlignment: CrossAxisAlignment.center,
            children: <Widget>[
              trips, followers, following,
            ],
          ),
        ],
      ),

图 1:目前的样子

图 2: Flutter Inspector 视图

【问题讨论】:

  • 你能添加一个屏幕截图吗?还有一些示例代码来解决我这边的问题。
  • 我已经添加了我所看到的图像,但至于其他代码,没有太多可添加的。我唯一拥有的其他东西是旅行、追随者和追随者的变量。除此之外,它是一个标准的无状态小部件。我尝试添加一个简短的代码 sn-p,以免它被无用的数据淹没。
  • 您应该对环绕行的列应用居中对齐方式。

标签: flutter flutter-layout


【解决方案1】:

您想从三个文本之间的图标中平均分配空间,对吗? 我将通过将 3 个小部件包装在另一行中的其余空间而不带图标来解决此问题,然后将 Text 包装在一个扩展的小部件中,该小部件填充其余空间。

我假设trips、followers 和following 是列。

Row(
 mainAxisAlignment: MainAxisAlignment.start,
 children: <Widget>[
  Column(
   children: <Widget>[
     ClipOval(
      ....(your stuff)
    )
   ]
  ),
    Row(
     children: <Widget>[
       Expanded(
           child: trips
        ),
       Expanded(
           child: followers
       ),
       Expanded(
           child: following
       ),
     ]
   )
 ]
) //Row End

在 Row 文档中,您可以看到扩展后如何占用三分之一的可用空间。 [1]

【讨论】:

  • 你能举例说明你的意思吗?我查看了颤振文档并尝试了他们使用的方法,但我显然做错了,因为它不起作用。我知道这一定是一个简单的错误,我只是想不通我做错了什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-12
  • 2020-11-05
  • 2023-03-19
  • 2020-09-12
  • 2020-12-25
  • 2019-05-07
  • 2021-03-11
相关资源
最近更新 更多