首页 > 解决方案 > 在 Row 内垂直居中单个项目

问题描述

我是一个完全的 Flutter 初学者,我一直在努力解决这个问题一段时间,我如何在 Row 中垂直居中单个项目?(不是全部,只有一个)。

我有以下代码,我试图将图标放在最后(arrow_right):

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)])

在此处输入图像描述

标签: flutter

解决方案


围绕Center小部件中的图标。这应该垂直居中,就像你想要的那样。

更新:我做了一个飞镖垫来说明。 https://dartpad.dartlang.org/c0bd50b6e61d303bb1d78e68c7412e3e


推荐阅读