1.Text 自定义字体

设置字体只需要在文件夹中放置字体文件,并在 pubspec.yaml 中引用它。

这种方式不常用,目前对中文无效,了解就可以,

fonts:
  -family:MyCustomFont
  fonts:
    - asset: fonts/MyCustomFont.ttf
    - style: italic
@override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text(widget.title),
        ),
        body: Center(
          child: GestureDetector(
            child: Text("HelloWorld",
            style: TextStyle(fontFamily: 'MyCustomFont'),
            ),
          ),
        ));
  }

2.Text 自定义样式

给 Text widget 的样式元素设置自定义值,设置里面的 TextStyle 对象,可以指定参数,如:

color

decoration

decorationColor

decorationStyle

fontFamily

fontSize

fontStyle

hashCode

height

inherit

letterSpacing

textBaseline

wordSpacing

3.设置 APP 主题

声明一个顶级 widget,MaterialApp 来作为 App的入口,它包含了 Material Design 风格组件。它通过 WidgetsApp 添加了 Material Design 功能来实现。

可以给 MaterialApp 传递一个 ThemeData 的对象。如下面代码:

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        textSelectionColor: Colors.red
      ),
      home: Scaffold(
        appBar: AppBar(title: Text('标题'),
        backgroundColor: Colors.blue,),
        body: Text('HelloWorld'),
      ),
    );
  }
}