Flutter:如何在小部件上复制和粘贴相同的样式? (在 children 上重复应用相同的属性)

Flutter: How to copy and paste same style on widgets? (to apply same properties repeatedly on children)

1.背景

我想在多个小部件上应用相同的样式。首先,我尝试了 'wrapping'。我将所有需要相同样式的小部件或 children 包装到一个容器或 raw/column,但这不允许我控制特定 child.

上的特定样式

2。范例

假设我想在应用栏上制作三个具有相同内边距的图标。这是我的示例代码。

1) 使用换行

actions: [
        Padding(
          padding: const EdgeInsets.fromLTRB(0,0,200,0),
          child: Row(
            children: const [
              Icon(Icons.search),
              Icon(Icons.menu),
              Icon(Icons.notifications)
            ],
          ),
        ),
      ],

我预计三个图标可能会用 right-padding(200) 分开,但整行都用 right-padding(200) 移动了,每个图标的填充没有变化。

2) 逐一应用样式

         actions: [
        Row(
          children: const [
            Padding(
              padding: EdgeInsets.fromLTRB(0, 0, 200, 0),
              child: Icon(Icons.search),
            ),
            Padding(
              padding: EdgeInsets.fromLTRB(0, 0, 200, 0),
              child: Icon(Icons.menu),
            ),
            Padding(
              padding: EdgeInsets.fromLTRB(0, 0, 200, 0),
              child: Icon(Icons.notifications),
            )
          ],
        ),
      ],

得到了我想要的结果,而不是我需要的解决方案

3。问题

我真的很想知道如何将相同的样式(或相同的填充)应用于 children,而不是通过一个一个地控制每个组件。

想象一下,如果图标是 300 个,而不是 3 个。我可能不得不一个一个地控制每个填充。这可能是一个填充地狱..

The result of the first code The result of the second code

了解如何制作 classes。这就是您所需要的,您只想缩短代码。您需要调用 class 例如按钮,您必须在其中添加参数并在需要时调用此 class 按钮。 这是关于它的精彩视频。