gpt4 book ai didi

dart - Flutter 默认字体大小

转载 作者:IT王子 更新时间:2023-10-29 07:08:17 24 4
gpt4 key购买 nike

我想在 Flutter 中为文本小部件设置默认字体大小。我知道我可以在主题中设置默认字体系列,但没有默认字体大小参数。

我只是想知道我的自定义小部件是否实现良好或者我的方法有误?

import 'package:flutter/material.dart';

/// Custom Text with a default font Monospace and a default font size.
class CustomText extends Text {
/// Custom Text Constructor extend of Text constructor.
CustomText(this.dataCustom,
{this.styleCustom = const TextStyle(), this.textAlignCustom})
: super(dataCustom,
style: styleCustom.copyWith(fontFamily: 'Monospace', fontSize: 12),
textAlign: textAlignCustom);

/// The text to display.
///
/// This will be null if a [textSpan] is provided instead.
final String dataCustom;

/// If non-null, the style to use for this text.
///
/// If the style's "inherit" property is true, the style will be merged with
/// the closest enclosing [DefaultTextStyle]. Otherwise, the style will
/// replace the closest enclosing [DefaultTextStyle].
final TextStyle styleCustom;

/// How the text should be aligned horizontally.
final TextAlign textAlignCustom;
}

谢谢

最佳答案

Flutter 主题定义的不是一种,而是多种默认字体大小。使用的大小取决于情况,例如文本小部件通常使用 body 样式,但如果在按钮内部使用,相同的小部件将使用 button 样式。

我发现了两种增加 Flutter 应用程序中所有字体大小的方法。

简单解决方案:调整默认主题

MaterialApp(
theme: ThemeData(
textTheme: Theme.of(context).textTheme.apply(
fontSizeFactor: 1.1,
fontSizeDelta: 2.0,
),
),
...
);

生成的字体大小为 (originalSize * fontSizeFactor + fontSizeDelta)。因此,在上面的示例中,所有字体大小都增加了 10%,然后又增加了 2。

具有更多控制的解决方案:手动定义所有尺寸

MaterialApp(
theme: ThemeData(
textTheme: TextTheme(
bodyText1: TextStyle(fontSize: 18.0),
bodyText2: TextStyle(fontSize: 16.0),
button: TextStyle(fontSize: 16.0),
... // and so on for every text style
),
),
...
);

完整的样式列表可以在 https://api.flutter.dev/flutter/material/TextTheme-class.html 找到。 .

关于dart - Flutter 默认字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56194440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com