Flutter

ThemeData 属性含义

2018-10-31  本文已影响138人  _白羊

在Flutter中使用ThemeData来在应用中共享颜色和字体样式,Theme有两种:全局Theme和局部Theme。 全局Theme是由应用程序根MaterialApp创建的Theme 。

定义好一个Theme后,就可以在自己的Widget中使用它。另外,Flutter提供的Material Widgets将使用我们的Theme为AppBars、Buttons、Checkboxes等设置背景颜色和字体样式。

属性 解释
brightness Brightness类型,应用程序的整体主题亮度。用于按钮等小部件,以确定在不使用主色(primaryColor)或强调色(accentColor)时选择什么颜色。当亮度较暗时,画布、卡片和原色都较暗。当亮度为光时,画布和卡片的颜色是明亮的,原色的暗度根据原色亮度变化。当亮度较暗时,原色(primaryColor)与卡片和画布颜色的对比度较差;当亮度较暗时,用白色或亮蓝色来对比。
primaryColor Color类型,App主要部分的背景色(ToolBar,Tabbar等)
primaryColorBrightness Brightness类型,primaryColor的亮度,用于确定设置在primaryColor上部的文本和图标颜色(如:工具栏文本(toolbar text))。
primaryColorLight Color类型,primaryColor的较浅版本
primaryColorDark Color类型,primaryColor的较深版本
accentColor Color类型,前景色(按钮、文本、覆盖边缘效果等)
accentColorBrightness Brightness类型,accentColor的亮度。用于确定位于accentColor上部的文本和图标颜色(例如,浮动操作按钮(FloatingButton)上的图标)
canvasColor Color类型,MaterialType.canvas Material的默认颜色。
scaffoldBackgroundColor Color类型,作为Scaffold下的Material默认颜色,用于materia应用程序或app内页面的背景色。
bottomAppBarColor Color类型,bottomAppBarColor的默认颜色。这可以通过指定BottomAppBar.color来覆盖。
cardColor Color类型,用在卡片(Card)上的Material的颜色。
dividerColor Color类型,分隔符(Dividers)和弹窗分隔符(PopupMenuDividers)的颜色,也用于ListTiles和DataTables的行之间。要创建使用这种颜色的合适的边界,请考虑Divider.createBorderSide。
highlightColor Color类型,用于墨水喷溅动画或指示菜单被选中时的高亮颜色
splashColor Color类型,墨水溅出的颜色
splashFactory InteractiveInkFeatureFactory类型,定义InkWall和InkResponse产成的墨水喷溅时的外观。
selectedRowColor Color类型,用于高亮选定行的颜色。
unselectedWidgetColor Color类型,小部件处于非活动(但启用)状态时使用的颜色。例如,未选中的复选框。通常与accentColor形成对比。
disabledColor Color类型,无效的部件(widget)的颜色,不管它们的状态如何。例如,一个禁用的复选框(可以选中或不选中)。
buttonColor Color类型,Material中RaisedButtons使用的默认填充色。
buttonTheme ButtonThemeData类型,定义按钮小部件的默认配置,如RaisedButton和FlatButton。
secondaryHeaderColor Color类型,有选定行时PaginatedDataTable标题的颜色
textSelectionColor Color类型,文本字段(如TextField)中文本被选中的颜色。
cursorColor Color类型,在 Material-style 文本字段(如TextField)中光标的颜色。
textSelectionHandleColor Color类型,用于调整当前选定文本部分的句柄的颜色。
backgroundColor Color类型,与primaryColor对比的颜色(例如 用作进度条的剩余部分)。
dialogBackgroundColor Color类型,Color类型,Dialog元素的背景色
indicatorColor Color类型,TabBar中选项选中的指示器颜色。
hintColor Color类型,用于提示文本或占位符文本的颜色,例如在TextField中。
errorColor Color类型,用于输入验证错误的颜色,例如在TextField中。
toggleableActiveColor Color类型,用于突出显示切换Widget(如Switch,Radio和Checkbox)的活动状态的颜色。
fontFamily String类型,字体类型
textTheme TextTheme类型,与卡片和画布对比的文本颜色
primaryTextTheme TextTheme类型,与primary color形成对比的文本主题。
accentTextTheme TextTheme类型,与accent color形成对比的文本主题。
inputDecorationTheme InputDecorationTheme类型,InputDecorator、TextField和TextFormField的默认InputDecoration值基于此主题。
iconTheme IconThemeData类型,与卡片和画布颜色形成对比的图标主题。
primaryIconTheme IconThemeData类型,与原色(primary color)形成对比的图标主题。
accentIconTheme IconThemeData类型,与前景色(accent color)形成对比的图标主题。
sliderTheme SliderThemeData类型,SliderThemeData类型,用于渲染Slider的颜色和形状。
tabBarTheme TabBarTheme类型, 一个主题,用于自定义选项卡栏指示器的尺寸、形状和颜色。
chipTheme ChipThemeData类型,用于Chip的颜色和样式
platform TargetPlatform类型,widget应该适应目标的平台。
materialTapTargetSize MaterialTapTargetSize类型,配置特定材料部件的hit测试大小。
pageTransitionsTheme PageTransitionsTheme类型,每个目标平台的默认MaterialPageRoute转换。
colorScheme ColorScheme类型,一组13种颜色,可用于配置大多数组件的颜色属性。
typography Typography类型,用于配置TextTheme、primaryTextTheme和accentTextTheme的颜色和几何文本主题值。
上一篇下一篇

猜你喜欢

热点阅读