我正在为我的应用程序创建主题。
我混淆了这两个方法(应用,copyWith)的TextStyle。应该用什么?
也有两个方法与相同的名称在TextTheme。我理解他们,但不能得到的想法在TextStyle
TextStyle中的这两个逻辑与TextTheme中的
不同谢谢。
当查看文档时,它显示apply
使用默认值为一些参数,如果你没有指定它们。
TextStyle应用({颜色?的颜色,颜色吗?写成backgroundColor,TextDecoration吗?装饰,颜色吗?decorationColor,TextDecorationStyle吗?decorationStyle,double decorationThicknessFactor = 1.0;double decorationThicknessDelta = 0.0,字符串?fontFamily,单吗?fontFamilyFallback,double font - size = 1.0;double fontSizeDelta = 0.0,int fontWeightDelta = 0,FontStyle吗?fontStyle,double letterSpacingFactor = 1.0,double letterSpacingDelta = 0.0,double wordSpacingFactor = 1.0,double wordSpacingDelta = 0.0,double height = 1.0;double height = 0.0,TextBaseline吗?textBaseline,TextLeadingDistribution吗?leadingDistribution,语言环境吗?语言环境,单吗?阴影,单吗?fontFeatures})
https://api.flutter.dev/flutter/painting/TextStyle/apply.html
copywith
不使用默认值,而是使用(复制)原始TextStyle对象中已经定义的值。
TextStyle copyWith ({bool ?继承,颜色吗?的颜色,颜色吗?写成backgroundColor,字符串?fontFamily,单吗?fontFamilyFallback,双吗?字形大小,FontWeight吗?fontWeight,FontStyle吗?fontStyle,双吗?类,双吗?wordSpacing,TextBaseline吗?textBaseline,双吗?高度,TextLeadingDistribution吗?leadingDistribution,语言环境吗?语言环境,油漆吗?前景,油漆吗?背景下,单吗?阴影,单吗?fontFeatures,TextDecoration吗?装饰,颜色吗?decorationColor,TextDecorationStyle吗?decorationStyle,双吗?decorationThickness,字符串?debugLabel})
https://api.flutter.dev/flutter/painting/TextStyle/copyWith.html
编辑:它们似乎也有不同的参数,例如apply
没有fontSize
和fontWeight
作为参数。
apply()创建一个文本样式的副本,替换所有其中指定的属性。
copyWith()创建文本样式的副本,但它只用新值替换给定的值