如何在flutter中设置默认字体颜色?

问题描述

我想全局设置 Flutter 应用的认字体颜色。我试过了

b

有些文字彩色的。但 Appbar 中的文本不会自动应用。

解决方法

textTheme 单独不会影响 AppBar。您应该使用 appBarTheme。试试这个:

appBarTheme: AppBarTheme(
                    textTheme: TextTheme(
                      //...
                    ).apply(
                        bodyColor: Color(0xff22215B),displayColor: Color(0xff22215B))),
,

应用此

ThemeData(
        appBarTheme: AppBarTheme(
          textTheme: Theme.of(context).textTheme.apply(
                bodyColor: const Color(0xff22215B),displayColor: const Color(0xff22215B),),textTheme: Theme.of(context).textTheme.apply(
              bodyColor: const Color(0xff22215B),)
,

https://rxlabz.github.io/panache_web/#/ 选择您的主题。

也从该网站下载整个主题代码。

Flutter 中的示例代码默认字体颜色?

  final ThemeData myTheme = ThemeData(
    primarySwatch: Colors.blue,brightness: Brightness.light,primaryColor: Color( 0xff2196f3 ),textTheme: TextTheme(
      display4: TextStyle(
      color: Color( 0x8a000000 ),fontSize: null,fontWeight: FontWeight.w400,fontStyle: FontStyle.normal,display3: TextStyle(
      color: Color( 0x8a000000 ),display2: TextStyle(
      color: Color( 0x8a000000 ),display1: TextStyle(
      color: Color( 0x8a000000 ),headline: TextStyle(
      color: Color( 0xdd000000 ),title: TextStyle(
      color: Color( 0xdd000000 ),subhead: TextStyle(
      color: Color( 0xdd000000 ),body2: TextStyle(
      color: Color( 0xdd000000 ),body1: TextStyle(
      color: Color( 0xdd000000 ),caption: TextStyle(
      color: Color( 0x8a000000 ),button: TextStyle(
      color: Color( 0xdd000000 ),subtitle: TextStyle(
      color: Color( 0xff000000 ),overline: TextStyle(
      color: Color( 0xff000000 ),primaryTextTheme: TextTheme(
      display4: TextStyle(
      color: Color( 0xb3ffffff ),display3: TextStyle(
      color: Color( 0xb3ffffff ),display2: TextStyle(
      color: Color( 0xb3ffffff ),display1: TextStyle(
      color: Color( 0xb3ffffff ),headline: TextStyle(
      color: Color( 0xffffffff ),title: TextStyle(
      color: Color( 0xffffffff ),subhead: TextStyle(
      color: Color( 0xffffffff ),body2: TextStyle(
      color: Color( 0xffffffff ),body1: TextStyle(
      color: Color( 0xffffffff ),caption: TextStyle(
      color: Color( 0xb3ffffff ),button: TextStyle(
      color: Color( 0xffffffff ),subtitle: TextStyle(
      color: Color( 0xffffffff ),overline: TextStyle(
      color: Color( 0xffffffff ),}

示例代码完整:

  import 'package:flutter/material.dart';
  final ThemeData myTheme = ThemeData(
    primarySwatch: Colors.blue,primaryColorBrightness: Brightness.dark,primaryColorLight: Color( 0xffbbdefb ),primaryColorDark: Color( 0xff1976d2 ),accentColor: Color( 0xff2196f3 ),accentColorBrightness: Brightness.dark,canvasColor: Color( 0xfffafafa ),scaffoldBackgroundColor: Color( 0xfffafafa ),bottomAppBarColor: Color( 0xffffffff ),cardColor: Color( 0xffffffff ),dividerColor: Color( 0x1f000000 ),highlightColor: Color( 0x66bcbcbc ),splashColor: Color( 0x66c8c8c8 ),selectedRowColor: Color( 0xfff5f5f5 ),unselectedWidgetColor: Color( 0x8a000000 ),disabledColor: Color( 0x61000000 ),buttonColor: Color( 0xffe0e0e0 ),toggleableActiveColor: Color( 0xff1e88e5 ),secondaryHeaderColor: Color( 0xffe3f2fd ),textSelectionColor: Color( 0xff90caf9 ),cursorColor: Color( 0xff4285f4 ),textSelectionHandleColor: Color( 0xff64b5f6 ),backgroundColor: Color( 0xff90caf9 ),dialogBackgroundColor: Color( 0xffffffff ),indicatorColor: Color( 0xff2196f3 ),hintColor: Color( 0x8a000000 ),errorColor: Color( 0xffd32f2f ),buttonTheme: ButtonThemeData(
      textTheme: ButtonTextTheme.normal,minWidth: 88,height: 36,padding: EdgeInsets.only(top:0,bottom:0,left:16,right:16),shape:     RoundedRectangleBorder(
      side: BorderSide(color: Color( 0xff000000 ),width: 0,style: BorderStyle.none,borderRadius: BorderRadius.all(Radius.circular(2.0)),alignedDropdown: false,highlightColor: Color( 0x29000000 ),splashColor: Color( 0x1f000000 ),focusColor: Color( 0x1f000000 ),hoverColor: Color( 0x0a000000 ),colorScheme: ColorScheme(
        primary: Color( 0xff2196f3 ),primaryVariant: Color( 0xff1976d2 ),secondary: Color( 0xff2196f3 ),secondaryVariant: Color( 0xff1976d2 ),surface: Color( 0xffffffff ),background: Color( 0xff90caf9 ),error: Color( 0xffd32f2f ),onPrimary: Color( 0xffffffff ),onSecondary: Color( 0xffffffff ),onSurface: Color( 0xff000000 ),onBackground: Color( 0xffffffff ),onError: Color( 0xffffffff ),accentTextTheme: TextTheme(
      display4: TextStyle(
      color: Color( 0xb3ffffff ),inputDecorationTheme:   InputDecorationTheme(
    labelStyle: TextStyle(
      color: Color( 0xdd000000 ),helperStyle: TextStyle(
      color: Color( 0xdd000000 ),hintStyle: TextStyle(
      color: Color( 0xdd000000 ),errorStyle: TextStyle(
      color: Color( 0xdd000000 ),errorMaxLines: null,hasFloatingPlaceholder: true,isDense: false,contentPadding: EdgeInsets.only(top:12,bottom:12,left:0,right:0),isCollapsed : false,prefixStyle: TextStyle(
      color: Color( 0xdd000000 ),suffixStyle: TextStyle(
      color: Color( 0xdd000000 ),counterStyle: TextStyle(
      color: Color( 0xdd000000 ),filled: false,fillColor: Color( 0x00000000 ),errorBorder: UnderlineInputBorder(
      borderSide: BorderSide(color: Color( 0xff000000 ),width: 1,style: BorderStyle.solid,borderRadius: BorderRadius.all(Radius.circular(4.0)),focusedBorder: UnderlineInputBorder(
      borderSide: BorderSide(color: Color( 0xff000000 ),focusedErrorBorder: UnderlineInputBorder(
      borderSide: BorderSide(color: Color( 0xff000000 ),disabledBorder: UnderlineInputBorder(
      borderSide: BorderSide(color: Color( 0xff000000 ),enabledBorder: UnderlineInputBorder(
      borderSide: BorderSide(color: Color( 0xff000000 ),border: UnderlineInputBorder(
      borderSide: BorderSide(color: Color( 0xff000000 ),iconTheme: IconThemeData(
      color: Color( 0xdd000000 ),opacity: 1,size: 24,primaryIconTheme: IconThemeData(
      color: Color( 0xffffffff ),accentIconTheme: IconThemeData(
      color: Color( 0xffffffff ),sliderTheme: SliderThemeData(
      activeTrackColor: null,inactiveTrackColor: null,disabledActiveTrackColor: null,disabledInactiveTrackColor: null,activeTickMarkColor: null,inactiveTickMarkColor: null,disabledActiveTickMarkColor: null,disabledInactiveTickMarkColor: null,thumbColor: null,disabledThumbColor: null,thumbShape: null(),overlayColor: null,valueIndicatorColor: null,valueIndicatorShape: null(),showValueIndicator: null,valueIndicatorTextStyle: TextStyle(
      color: Color( 0xffffffff ),tabBarTheme: TabBarTheme(
      indicatorSize: TabBarIndicatorSize.tab,labelColor: Color( 0xffffffff ),unselectedLabelColor: Color( 0xb2ffffff ),chipTheme: ChipThemeData(
      backgroundColor: Color( 0x1f000000 ),deleteIconColor: Color( 0xde000000 ),disabledColor: Color( 0x0c000000 ),labelPadding: EdgeInsets.only(top:0,left:8,right:8),labelStyle: TextStyle(
      color: Color( 0xde000000 ),padding: EdgeInsets.only(top:4,bottom:4,left:4,right:4),secondaryLabelStyle: TextStyle(
      color: Color( 0x3d000000 ),secondarySelectedColor: Color( 0x3d2196f3 ),selectedColor: Color( 0x3d000000 ),shape: StadiumBorder( side: BorderSide(color: Color( 0xff000000 ),) ),dialogTheme: DialogTheme(
      shape:     RoundedRectangleBorder(
      side: BorderSide(color: Color( 0xff000000 ),borderRadius: BorderRadius.all(Radius.circular(0.0)),)

    ),);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...