body2 已弃用,不应使用。这是 2014 版材料设计中使用的术语。- 颤振中的警告消息

Dar*_*ish 7 flutter flutter-layout flutter-theme flutter-text

如果您更新从版本扑SDK v1.12.13后任何版本v1.13.8,您将收到有关textTheme使用几个警告信息。例如,下面给出了其中之一。

信息:body2 已弃用,不应使用。这是 2014 版材料设计中使用的术语。现代术语是 bodyText1。此功能在 v1.13.8 之后被弃用。

新版本有哪些变化?如何迁移?

Dar*_*ish 20

材料规范2014文本主题和材料规范2018文本主题有什么区别?

TextThemeAPI 最初基于原始材料 (2014) 设计规范,使用不同的文本样式名称。

下面给出了这两个值。

2018 规范 - 文本样式

NAME         SIZE  WEIGHT  SPACING

headline1    96.0  light   -1.5
headline2    60.0  light   -0.5
headline3    48.0  regular  0.0
headline4    34.0  regular  0.25
headline5    24.0  regular  0.0
headline6    20.0  medium   0.15
subtitle1    16.0  regular  0.15
subtitle2    14.0  medium   0.1
body1        16.0  medium   0.5   (bodyText1)
body2        14.0  regular  0.25  (bodyText2)
button       14.0  medium   1.25
caption      12.0  regular  0.4
overline     10.0  regular  1.5
Run Code Online (Sandbox Code Playgroud)

2014 规范 - 文本样式

NAME       SIZE   WEIGHT   SPACING  2018 NAME

display4   112.0  thin     0.0      headline1
display3   56.0   normal   0.0      headline2
display2   45.0   normal   0.0      headline3
display1   34.0   normal   0.0      headline4
headline   24.0   normal   0.0      headline5
title      20.0   medium   0.0      headline6
subhead    16.0   normal   0.0      subtitle1
body2      14.0   medium   0.0      body1 (bodyText1)
body1      14.0   normal   0.0      body2 (bodyText2)
caption    12.0   normal   0.0      caption
button     14.0   medium   0.0      button
subtitle   14.0   medium   0.0      subtitle2
overline   10.0   normal   0.0      overline
Run Code Online (Sandbox Code Playgroud)

如何使用新的 TextTheme 属性?(flutter 版本 v1.13.8 及以上)

您可以使用所需的属性,如下所示。

Theme.of(context).textTheme.headline1
Theme.of(context).textTheme.headline2
Theme.of(context).textTheme.headline3
Theme.of(context).textTheme.headline4
Theme.of(context).textTheme.headline5
Theme.of(context).textTheme.headline6
Theme.of(context).textTheme.subtitle1
Theme.of(context).textTheme.subtitle2
Theme.of(context).textTheme.body1
Theme.of(context).textTheme.body2
Theme.of(context).textTheme.button
Theme.of(context).textTheme.caption
Theme.of(context).textTheme.overline
Run Code Online (Sandbox Code Playgroud)

什么是未更改的属性名称?

只有以下两个属性名称在两个 Theme 类中是通用的。

Theme.of(context).textTheme.caption
Theme.of(context).textTheme.overline
Run Code Online (Sandbox Code Playgroud)