- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的应用创建主题。
我混淆了 TextStyle 的这两种方法(apply、copyWith)。应该用什么?
在 TextTheme 中还有 2 个同名的方法。我理解它们,但在 TextStyle 中无法理解。
这两个在 TextStyle 中的逻辑与在 TextTheme 中不同
谢谢。
最佳答案
在查看文档时,它表明如果您未指定某些参数,apply
会使用默认值。
TextStyle apply({Color? color,Color? backgroundColor,TextDecoration? decoration,Color? decorationColor,TextDecorationStyle? decorationStyle,double decorationThicknessFactor = 1.0,double decorationThicknessDelta = 0.0,String? fontFamily,List? fontFamilyFallback,double fontSizeFactor = 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 heightFactor = 1.0,double heightDelta = 0.0,TextBaseline? textBaseline,TextLeadingDistribution? leadingDistribution,Locale? locale,List? shadows,List? fontFeatures})
https://api.flutter.dev/flutter/painting/TextStyle/apply.html
copywith
不使用默认值,而是使用(复制)原始 TextStyle 对象中已经定义的值。
TextStyle copyWith({bool? inherit,Color? color,Color? backgroundColor,String? fontFamily,List? fontFamilyFallback,double? fontSize,FontWeight? fontWeight,FontStyle? fontStyle,double? letterSpacing,double? wordSpacing,TextBaseline? textBaseline,double? height,TextLeadingDistribution? leadingDistribution,Locale? locale,Paint? foreground,Paint? background,List? shadows,List? fontFeatures,TextDecoration? decoration,Color? decorationColor,TextDecorationStyle? decorationStyle,double? decorationThickness,String? debugLabel})
https://api.flutter.dev/flutter/painting/TextStyle/copyWith.html
编辑:它们似乎也有不同的参数,例如 apply
没有 fontSize
和 fontWeight
作为参数。
关于apply() 和 copyWith() 之间的 Flutter TextStyle(不是 TextTheme)区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68824071/
当我在flutter项目中导入flutter_linkify/flutter_linkify.dart包时,我在控制台中收到此错误: Launching lib\main.dart on CRO U0
对于像这样的文本: Text( 'Hello World', style: Theme.of(context).textTheme.display1, ) 有没有办法将 textT
我有CustomTheme,有。主代码如下所示。现在我有登陆页,里面有列,里面有使用DisplayLarge的文本。这家伙在制造麻烦。。错误是。呈现库╞════════════════════════
我试图让用户选择应用程序的 ThemeMode 和字体大小。实现这些功能之一时一切正常,但当我同时实现它们时出现异常。 我设置主题模式和字体大小的代码是: MaterialApp(
我正在为我的应用创建主题。 我混淆了 TextStyle 的这两种方法(apply、copyWith)。应该用什么? 在 TextTheme 中还有 2 个同名的方法。我理解它们,但在 TextSty
我是一名优秀的程序员,十分优秀!