flutter - 为什么这个图标被剪掉了?

标签 flutter

enter image description here

如您所见,右侧的人脸图标被裁剪了,我不确定为什么。

这是我的代码:

new Container(
  padding: new EdgeInsets.fromLTRB(style.wideMargin, style.wideMargin * 2,
      style.wideMargin, style.wideMargin),
  decoration: new BoxDecoration(backgroundColor: Colors.white),
  child: new Row(
    crossAxisAlignment: CrossAxisAlignment.end,
    children: [
      new Expanded(
        child: new Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            new PrecisionTextOverflow(
                'Name of a thing',
                lineWidth: style.longLineWrappingWidth,
                mainTextStyle: style.blackParagraphText),
            // Because PrecisionTextOverflow paints itself directly, the UI
            // doesn't know its size so we use a blank Text object to make the
            // column center itself correctly.
            new Text(' '),
          ],
        ),
      ),
      new Transform(
        transform:
            new Matrix4.translationValues(0.0, -style.defaultMargin, 0.0),
        child: new IconButton(
          padding: EdgeInsets.zero,
          icon: new Icon(Icons.face,
              size: style.headingText.fontSize,
              color: style.favoriteColor[isItemFavorite]),
          onPressed: favoritePressed,
        ),
      ),
    ],
  ),
)

PrecisionTextOverflow 是我用 StatelessWidget 创建的一个类,它使用 CustomPainter 在屏幕上绘制文本。我认为这与手头的问题无关,仅供引用。

我试过从外部容器中移除填充物,但没有用。我试过调整转换以将图标向左移动,但它只是将其以裁剪形式移动。我究竟做错了什么?我该如何纠正这个问题?

编辑: 好的,我做了一个渲染树转储,看起来封闭的行将其高度设置为 24.0,它向下传递给 IconButton,它给自己一个大小 (24.0, 24.0)。有没有办法增加行的高度?还是我应该重新考虑我的整个结构?

最佳答案

您在图标上设置大小,而不是IconButton。如果将 size 参数移动到 IconButton,它应该可以工作。

发生的事情是 IconButton 默认为 24​​.0,并且由于您将它放在无界空间中,因此通过 LimitedBox 将其大小限制为 24.0。然后它尝试通过 IconTheme 继承的小部件将该大小传递给 Icon,但是 Icon 已被告知忽略它并调整大小30.0 无论如何。

我会改进文档。

关于flutter - 为什么这个图标被剪掉了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41729278/

相关文章:

dart - Flutter 更新购物车项目列表同时删除重复条目

flutter - 如何在Flutter中使用Navigator使用状态小部件将用户传递到命名路线?

android - 任务 ':app:preDebugBuild' 执行失败 .in Flutter

Flutter Dart 功能弹出错误的小部件?

flutter - TextFormField,更改图标和文本颜色

json - 从 Flutter 中的 Json 错误解析日期时间

flutter - 使用 Flutter 使用面容 ID 登录

ios - Flutter ios shared preference show setstring on null 错误

flutter - 使用来自另一个小部件的按钮插入 TextField - Flutter

Flutter AnimatedSize 仅适用于一个方向