factoryThemeData({Brightness brightness,// 应用主题亮度,可选(dark、light)VisualDensity visualDensity,// 视觉密度MaterialColor primarySwatch,// 主要样式,设置primaryColor后该背景色会被覆盖Color primaryColor,// 主要部分背景颜色(导航和tabBar等)Brightness primaryColorBrightness,// primaryColor的亮度Color primary...
而ThemeData则定义了主题中各种组件或者行动的配色。 那么如果我们想要实现自定义themes的功能,就可以利用这个ThemeData类来重写其中要重写的颜色。 ThemeData中还有专门为color变化定义的ColorScheme,还有为Text变化设置的TextTheme,这两个theme实际上是一系列的color集合。 除了ThemeData,flutter中还有一个类叫做Theme。 Theme...
Get.updateLocale(Locale('en_US')); 就切换到英文了,因为getx自带状态管理,我们不需要考虑页面刷新 下面说深色模式,也是只需要一行: Get.changeTheme(isDark ? ThemeData( brightness: Brightness.dark, primaryColor: Utils.hexColor('2c2c2b'), ) : ThemeData( brightness: Brightness.light, primaryColor: Col...
在其他任意的组件中,我们可以使用 Theme.of(context) 拿到该对象了,且这个对象全局唯一。如下所示,我们可以将该 ThemeData 对象中的 primaryColor 应用在 Text 中:// 使用全局文本样式Text('Flutter', style: TextStyle(color: Theme.of(context).primaryColor),)这个角度来看,InheritedWidget 完全可以被我们看...
//2.primarySwatch传入不是Color, 而是MaterialColor(包含了primaryColor和accentColor) primarySwatch: Colors.purple, //主题颜色:导航/底部的TabBar primaryColor: Colors.orange, // 4.accentColor(次要颜色): 单独设置FloatingActionButton\Switch accentColor: Colors.deepPurpleAccent, ...
Color get shade900 => this[900]!;} 通过官方给MaterialColor类的注释我们不难发现,要自定义MaterialColor我们需要传入一个颜色初始值primary及从亮到暗共十个级别的Map<int, Color>这里有一张来自Flutter官方给出的Colors.blue的颜色卡 可以看出primary应该就是就是我们想要的主要颜色,同时也是shade500的值下面...
如下图和代码所示,Flutter 默认提供了很多主题色,同时我们也可以通过MaterialColor实现自定义的主题色。 image.png 代码语言:txt 复制 MaterialColor primarySwatch = const MaterialColor( primaryValue, const <int, Color>{ 50: const Color(primaryLightValue), ...
primary: Color(0xff065808), primaryContainer: Color(0xff9ee29f), secondary: Color(0xff365b37), secondaryContainer: Color(0xffaebdaf), tertiary: Color(0xff2c7e2e), tertiaryContainer: Color(0xffb8e6b9), appBarColor: Color(0xffb8e6b9), ...
Steps to Reproduce Just run app on Flutter 2.5.0 static final global = ThemeData( primaryColor: ColorsX.primary, ) There is no problem on 2.2.3, but 2.5.0 is displayed as the default blue color and does not work. Env [√] Flutter (Channel...
var copyTheme =Theme.of(context).copyWith(primaryColor: Colors.blue); 看到of的静态方法,第一反应是去通过这个context去构建新的类。然后从这个类中,去调用获取状态的方法。(Android开发的同学应该很熟悉的套路,类似Picasso、Glide)。但事实上是这样吗?