Flutter 根据父级大小按比例缩小小部件中的所有子级

Flutter 根据父级大小按比例缩小小部件中的所有子级,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,在Flatter中,我正在实现“what's new”屏幕,该屏幕将显示应用程序中真实屏幕的预览。 为此,我在“新内容”流程中重用了屏幕Widgets。 预览将显示在较小的容器中,不会覆盖整个屏幕 我想缩小此容器中所有小部件的文本大小、行高等,以匹配较小的边界。 有没有一种方法可以做到这一点,而无需单独为每个小部件添加较小的样式 e、 g.将小部件子项的所有字体大小缩小20%,而不管主题中设置的大小我找到了解决方案。使用Transform.scale(…)包装子窗口小部件树将根据提供的比例因子向

在Flatter中,我正在实现“what's new”屏幕,该屏幕将显示应用程序中真实屏幕的预览。 为此,我在“新内容”流程中重用了屏幕
Widgets
。 预览将显示在较小的
容器中
,不会覆盖整个屏幕

我想缩小此
容器中所有小部件的文本大小、行高等,以匹配较小的边界。
有没有一种方法可以做到这一点,而无需单独为每个小部件添加较小的样式


e、 g.将
小部件子项的所有
字体大小缩小20%,而不管主题中设置的大小

我找到了解决方案。使用
Transform.scale(…)
包装子窗口小部件树将根据提供的比例因子向下缩放树中的所有窗口小部件

Column(
  mainAxisAlignment: MainAxisAlignment.center,
  children: [
    Transform.scale(
      scale: 0.9,
      child: MyScaledWidgetTree(),
     ),
     Container(
      child: ...,
     ),
   ],
)

我通常使用MediaQuery根据屏幕大小缩小字体,而不是孩子的家长,并发现这可能与您的问题有关。谢谢,这是一个有效的解决方案,但不能应用于我的案例,因为所有字体都是由固定大小定义的。我们如何使缩放动态,以便仅在出现溢出时缩小?此外,缩放值应足以修复溢出。尽可能大而不溢出。我们如何找到这个价值?