Flutter 如何设置App的主色调与字体
程序员文章站
2022-03-07 08:43:41
flutter 的主题色和字体可以在materialapp 中设置,即在 main.dart 的入口返回的 materialapp 组件统一设置全局的主色调和字体。如下面的代码所示:通过 materi...
flutter 的主题色和字体可以在materialapp 中设置,即在 main.dart 的入口返回的 materialapp 组件统一设置全局的主色调和字体。如下面的代码所示:
通过 materiaapp 的 theme 属性,构建 themedata 来配置全局主题。其中themedata常用的属性如下所示:
- brightness:为 brightness 枚举,包括 dark 和 light 两种模式,其中 dark 对应的是深色模式(即夜间模式),light 对应浅色模式。
- primarycolor:主色调,设置后导航栏就会变成主色调颜色。注意的是导航栏的字体颜色会根据主色调和 brightness 自动计算显示的颜色是偏浅色还是深色。
- accentcolor:辅助色,根据需要设置。
- texttheme:文字主体。早期版本的 flutter 设置的比较少,新版本可能是为了支持web端,字体的属性设置基本和 html 的保持一致了,包括 headline1到 headline6,bodytext1,感觉就是对应 html 中的 h1-h6和 body 的字体。各级字体均可以通过构建 textstyle 来设置对应的字体参数。
- fontfamily:字体族。
在应用中可以通过 theme.of(context)获取当前主体,再获取对应的属性来继承主题的色调或字体。如下面的代码的 text 的样式就继承了主体的bodytext1的字体特性。
而在bottomnavigationbar中的 selecteditemcolor(选择颜色)则继承了主色调。
通过这种方式可以在 main.dart 中的 materialapp 中统一配置色调和字体达到全局一致的目的。如果想要调整色调和字体,只需要在一处修改即可。最终结果如下图所示(有图更改了主题色为绿色)。
有强迫症的同学可能会发现状态栏的颜色是黑色的,这个该如何修改呢?很简单,对 appbar的属性设置一下 brightness 属性即可:
以上即为 flutter app 的主题色与字体的设置,实际另一种操作方式也可以使用全局常量的方式,约定好整个工程使用的主色调,辅助色,字体也能达到目的。下一篇介绍如何构建列表,欢迎点赞鼓励!
以上就是flutter 如何设置app的主色调与字体的详细内容,更多关于flutter 设置app的主色调与字体的资料请关注其它相关文章!
上一篇: 炒牛肉要放料酒吗