Flutter 在行内垂直居中单个项目

Flutter 在行内垂直居中单个项目,flutter,Flutter,我是一个完全的颤振初学者,我已经用我的头撞墙来解决这个问题有一段时间了,我如何将一个项目垂直地放在一排中?不是所有的,只有一个 我有以下代码,我正在尝试将图标居中放置在右端箭头处: return Card( child: Row( mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( paddi

我是一个完全的颤振初学者,我已经用我的头撞墙来解决这个问题有一段时间了,我如何将一个项目垂直地放在一排中?不是所有的,只有一个

我有以下代码,我正在尝试将图标居中放置在右端箭头处:

return Card(
  child: Row(
    mainAxisSize: MainAxisSize.max,
    crossAxisAlignment: CrossAxisAlignment.start,
    children: [
      Container(
        padding: EdgeInsets.all(8),
        child: CachedNetworkImage(
          imageUrl: DDragon.getSpellImage(spell),
          placeholder: (context, url) => CircularProgressIndicator(),
          errorWidget: (context, url, error) => Icon(Icons.error),
        ),
      ),
      Expanded(
        child: Container(
          padding: EdgeInsets.all(4),
          child: Column(
            children: [
              Row(
                children: [
                  Text(spell.name,
                      style: TextStyle(fontSize: 24),
                      textAlign: TextAlign.start),
                  spell is Passive
                      ? Container(
                          padding: EdgeInsets.only(left: 3),
                          child: Text("(Passive)",
                              style: TextStyle(color: Colors.grey)))
                      : SizedBox.shrink()
                ],
              ),
              Text(spell.description)
            ],
          ),
        ),
      ),
      Icon(Icons.arrow_right)
    ],
  ),
);
我尝试了以下方法,但没有成功,也没有改变显示器:

Column(mainAxisSize: MainAxisSize.max,mainAxisAlignment: MainAxisAlignment.center, children: [Icon(Icons.arrow_right)])
将图标环绕在中心小部件中。它应该垂直居中,就像你想要的那样

更新: 我做了一个省道垫来说明。

使用expanded使行增长到全高,然后使用crossAxisAlignment:crossAxisAlignment.center

Expanded(child : Row(
                      crossAxisAlignment: CrossAxisAlignment.center,
                      children: [
                        Text(
                          "Child Element",
                          style: TextStyle(fontSize: 24),
                          textAlign: TextAlign.start,
                        ),
                      ],
                    ))

在谷歌搜索了很长一段时间后,唯一对我有效的方法就是用IntrinsicHeight将我的行包装起来,并将图标包装在中间,否则它就不会居中,无论我尝试哪个答案

对不起,忘了提一下,我尝试过了,我在回答中添加了省道板,但没有任何效果。省道板的问题或更确切地说是不同之处在于,容器中有一个高度,因此“中心”可以将其居中。我发现我需要在布局完成后居中,这里有一篇很好的文章,所以我将尝试使用它,我已经移除了设置高度的容器,它仍然工作相同的mm是的,但是现在容器占用了整个可用空间,而不是调整到它的内容大小