【问题标题】:IconButton CircleAvatar not showing imageIconButton CircleAvatar 不显示图像
【发布时间】:2019-12-27 21:07:50
【问题描述】:

我正在为我的应用程序创建一个 AppBar,但我无法在我的 CircleAvatar 按钮(这个蓝色圆圈)中插入图像:

我现在用来创建 CircleAvatar 按钮的代码如下:

main.dart:

appBar: AppBar(
          actions: <Widget>[
            IconButton(
                icon: CircleAvatar(
                    child: new Image.asset("assets/images/example.jpeg")),
                onPressed: () {}),
          ]),

pubspec.yaml:

assets:
     - assets/images/example.jpeg

我正在尝试使用这张图片:

所以我需要让这个图像出现并适合那个蓝色的 CircleAvatar 按钮,但我不明白为什么它不能正常工作。

谁能帮我解决这个问题?

PS:如果有人知道要求用户以他或她想要的方式拟合图像的包或代码示例,那将对我有很大帮助,因为我希望用户能够适应完美尺寸的图像。比如这样:

发生以下错误:

有人知道怎么解决吗?

【问题讨论】:

    标签: flutter flutter-layout


    【解决方案1】:

    child 替换为backgroundImage

    所以,而不是使用

    CircleAvatar(
      child: AssetImage("assets/images/example.jpeg"),
    )
    

    使用

    CircleAvatar(
      backgroundImage: AssetImage("assets/images/example.jpeg"),
    )
    

    【讨论】:

    • 我试过了,但错误仍然存​​在,如果你能看看我刚刚添加的错误打印,我认为我面临的问题对你来说会更清楚。
    • Image.asset("assets/images/example.jpeg") 为您工作正常吗?我认为您的 pubspec.yaml 文件有问题。
    • 我已经删除了我的 pubspec.yaml 并创建了另一个,现在它正在工作。谢谢。
    • 我的应用程序也遇到了这个问题。我也在使用 backgroundImage 属性。有趣的是,如果您使用方形图像,问题就会消失。
    【解决方案2】:

    您可以使用ClipRRect 小部件

    ClipRRect(
      child: AssetImage("assets/images/example.jpeg"),
      borderRadius: BorderRadius.circular(16)
    )
    

    【讨论】:

    • 不要通过仅添加一个属性来复制和粘贴相同的答案。你说使用ClipRRect,但你复制了答案。
    【解决方案3】:

    如果您使用的是 android studio,“文件”选项中的“无效缓存/重启”将起作用。

    【讨论】:

      猜你喜欢
      • 2021-12-30
      • 2019-05-25
      • 2020-08-13
      • 2020-11-27
      • 1970-01-01
      • 2021-10-15
      • 2021-08-31
      • 1970-01-01
      • 2020-04-30
      相关资源
      最近更新 更多