如何在颤动中删除卡片的内部填充?

Posted

技术标签:

【中文标题】如何在颤动中删除卡片的内部填充?【英文标题】:How to remove a card's inner padding in flutter? 【发布时间】:2020-01-03 22:44:48 【问题描述】:

我在卡片内放置了一个书签图标,但无法移除卡片的内部填充。我想让书签图标贴在卡片的边框上。我该怎么做?

我已将图标与“topRight”对齐,但无济于事。

【问题讨论】:

你能分享你尝试过的东西吗?我不明白你到底想做什么。 【参考方案1】:

我只想留下一个完整的代码,去掉默认边距以使其清晰

Card(
  margin: EdgeInsets.zero,
  clipBehavior: Clip.antiAlias,
  shape: RoundedRectangleBorder(
    borderRadius: BorderRadius.circular(8.0),
  ),
  elevation: 4,
  child: Image.network(
    model.item.image,
    width: 20,
    height: 200,
    alignment: Alignment.center,
    fit: BoxFit.cover,
),

【讨论】:

【参考方案2】:

您可以尝试将卡片的 ma​​rgin 属性设置为 EdgeInsets.zero

【讨论】:

我不明白这一点。删除填充的问题和答案是应用零边距以及它如何删除内部填充!! 问题是关于填充而不是边距【参考方案3】:

卡片小部件默认具有填充。如果这不是您想要的行为,您可以使用看起来像卡片的容器来实现您自己的小部件

【讨论】:

【参考方案4】:

您可以将Card 包装成MediaQuery.removePaddingMediaQuery.removeViewPaddingMediaQuery.removeViewInsets。它适用于所有具有默认填充/内部间距的小部件,您可以选择要删除的特定填充(topbottomrightleft):

MediaQuery.removeViewInsets(
  removeRight: true,
  removeLeft: true,
  removeTop: true,
  removeBottom: true,
  context: context,
  child: Card(...),
)

【讨论】:

【参考方案5】:

卡片的默认边距是4,所以你必须将边距设置为零 边距:EdgeInsets.zero,

【讨论】:

以上是关于如何在颤动中删除卡片的内部填充?的主要内容,如果未能解决你的问题,请参考以下文章

flutter : 如何在颤动中制作卡片

如何在颤动中绘制带有图像和文本的卡片列表

如何在颤动中构建带有列表的卡片? [关闭]

如何在颤动的列表视图中设置卡片的宽度?

如何减少颤动中Textfield的额外填充

如何使卡片像颤动的标签一样可滑动? [复制]