10.主题和文字处理
声明:Flutter专栏文档均来自慕课网 https://coding.imooc.com/class/321.html
主题和文字处理
如何在 Text widget上设置自定义字体?
如何在Text上定义样式?
如何给 App 设置主题?
如何在 Text widget上设置自定义字体?
在 iOS 中,你在项目中引入任意的
ttf
文件,并在info.plist
中设置引用;在Android SDK(从Android O开始)中,创建一个Font资源文件并将其传递到TextView的FontFamily参数中;
在 Flutter 中设置字体更加简便,只需要在文件夹中放置字体文件,并在 pubspec.yaml
中引用它,就像添加图片那样:
然后,通过如下方式使用字体:
如何在Text上定义样式?
除了字体以外,你也可以给 Text
widget 的样式元素设置自定义值。Text
widget 接受一个 TextStyle
对象,你可以指定许多参数,比如:
color
decoration
decorationColor
decorationStyle
fontFamily
fontSize
fontStyle
fontWeight
hashCode
height
inherit
letterSpacing
textBaseline
wordSpacing
如何给 App 设置主题?
Flutter 实现了一套漂亮的 Material Design
组件,它接管了一大堆你需要的样式和主题。
为了充分发挥你的 App 中 Material Design
组件的优势,声明一个顶级 widget,MaterialApp
,用作你的 App 入口。MaterialApp
是一个便利组件,包含了许多 App 通常需要的 Material Design 风格组件。它通过一个 WidgetsApp
添加了 Material Design
功能来实现。
但是 Flutter 足够地灵活和富有表现力来实现任何其他的设计语言。在 iOS 上,你可以用 Cupertino library 来制作遵守 Human Interface Guidelines 的界面。查看这些 widget 的集合,可参考 Cupertino widgets gallery。
你也可以在你的 App 中使用 WidgetApp
,它提供了许多相似的功能,但不如 MaterialApp
那样强大。
对任何子组件定义颜色和样式,可以给 MaterialApp
widget 传递一个 ThemeData
对象。举个例子,在下面的代码中,primary swatch
被设置为蓝灰色,并且文字的选中颜色是红色:
Last updated