一尘不染

Flutter中的fontSize和textScaleFactor有什么区别?

flutter

默认fontSize值为14.0。因此,textScaleFactor: 2.0看起来与fontSize: 28.0我的代码示例相同:

class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Title')),
        body: Row(
          children: <Widget>[
            new Text("Jane", textScaleFactor: 2.0),
            new Text(" Doe", style: new TextStyle(fontSize: 28.0)),
          ],
        )
      )
    );
  }
}

优缺点都有什么?在特定情况下何时使用一种或另一种有什么建议?


阅读 859

收藏
2020-08-13

共1个答案

一尘不染

它们之间的渲染没有区别。他们的目的是什么变化。

字体大小通常是每个组件的值。而比例因子更全球化。您可以直接在上覆盖比例因子的事实Text只是一个奖励。

在典型的应用程序中,您将具有以下优势:

MediaQuery(
  data: MediaQuery.of(context).copyWith(textScaleFactor: 2.0),
  child: Whatever(
    child: Text("Foo", style: Theme.of(context).textTheme.headline),
  ),
);

基本上,考虑将其textScaleFactor作为缩放选项。字体大小用于将标题与内容分开。

2020-08-13