Flutter HTML 使用 .fromTextStyle 和自定义标签设置

问题描述 投票:0回答:1

我们的应用程序中有主题设置,因此我们使用如下所示的 HTML 小部件。使用 .fromTextStyle 来应用样式效果很好,它与 BuildContext 配合得很好,并且能够删除元素的填充和边距。我无法弄清楚的是,如何将两者结合起来,同时仍然保持使用我们的自定义主题的能力。

我们当前的代码:

    return Html(
      data: '<p>$excerpt</p>',
      style: {
        "p": Style.fromTextStyle(context.textTheme.regular.bodyMDSerif),
        "body": Style(
          padding: HtmlPaddings.zero,
          margin: Margins.zero,
        ),
      },
    );

我想做的是:

    return Html(
      data: '<p>$excerpt</p>',
      style: {
        "p": Style( // Apply custom theming AND removing padding/margins
          textStyle: context.textTheme.regular.bodyMDSerif,
          padding: HtmlPaddings.zero,
          margin: Margins.zero,
        )
        "body": Style(
          padding: HtmlPaddings.zero,
          margin: Margins.zero,
        ),
      },
    );

关于如何做到这一点有什么建议吗?

flutter dart
1个回答
0
投票

您可以使用Style类的

copyWith
方法:

return Html(
  data: '<p>$excerpt</p>',
  style: {
    "p": Style.fromTextStyle(context.textTheme.regular.bodyMDSerif).copyWith(
      padding: HtmlPaddings.zero,
      margin: Margins.zero,
    ),
    "body": Style(
      padding: HtmlPaddings.zero,
      margin: Margins.zero,
    ),
  },
);
© www.soinside.com 2019 - 2024. All rights reserved.