我有一个带有两个图标的Stack.我想使用FittedBox中的第一个图标,这样图标就可以填满整个可用的空间.

当我用FittedBox包装第一个图标时--最后一个图标不起作用--图标是以它们的原始大小构建的.

当我用FittedBox包装Stack时,这两个图标都填满了整个可用的空间.

我怎样才能得到想要的结果?

import 'package:flutter/material.dart';

void main() => runApp(const MaterialApp(
      home: MyHomePage(),
    ));

class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const Scaffold(
      body: SafeArea(
        child: Row(
          children: [
            Expanded(
              child: FittedBox(
                child: Stack(
                  children: [
                    Icon(Icons.abc),
                    SizedBox(
                      width: 10,
                      height: 10,
                      child: Icon(Icons.access_alarm),
                    ),
                  ],
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }
}

推荐答案

将您想要展开的图标先用SizedBox.expand再用FittedBox包装,如下所示:

import 'package:flutter/material.dart';

void main() => runApp(const MaterialApp(
      home: MyHomePage(),
    ));

class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const Scaffold(
      body: SafeArea(
        child: Row(
          children: [
            Expanded(
              child: Stack(
                children: [
                  SizedBox.expand(
                    child: FittedBox(
                      child: Icon(Icons.abc),
                    ),
                  ),
                  Icon(Icons.access_alarm),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
}

Flutter相关问答推荐

飘动的文本用/字符绕转

我不能通过第5步了解Flutter 翼Firebase教程

如何组合匹配器

将侧边菜单和底部导航栏放在同一Flutter 应用程序中

如何将请求字段正确添加到DART多部分请求

如何在Flutter 安全存储器中存储对象值?

使用 Firebase Realtime 实现高效流式传输

Riverpod 注册多少个 providers

为什么我们需要使用ChangeNotifierProvider而不是仅仅使用ChangeNotifier?

Flutter - firebase_auth_web 5.4.0 依赖于 intl ^0.17.0 但我必须使用更高版本 (intl ^0.18.0)

Elevated 和 Outlined 按钮之间的动画

当项目较少时收缩列表视图

如何在 Flutter 执行通知时运行后台代码?

在 Flutter 中更改高架按钮 OnPressed 的背景 colored颜色

有什么方法可以将 ChangeNotifier 与 ValueListenableBuilder 一起使用

阴影效果只出现在一张卡片的左边 在Flutter 中?

如何在Flutter 中将列表的模型类型转换为数组?

在 Flutter 中更新对象实例属性的最佳实践是什么?该实例嵌套在提供程序类的映射中,如下所示

Textfield 和 MasonryGrid 给出错误(垂直视口的高度没有限制)

如何在 ElevatedButton 上设置背景 colored颜色 动画?