Flutter入門 -- ThemeData

用于自定義應(yīng)用程序的主題顏色和排版等。

factory ThemeData({
  Brightness brightness, // 應(yīng)用整體主題的亮度组去。用于按鈕之類的小部件,以確定在不使用主色或強(qiáng)調(diào)色時(shí)選擇什么顏色。
  MaterialColor primarySwatch,// 定義一個(gè)單一的顏色以及十個(gè)色度的色塊。
  Color primaryColor, // 應(yīng)用程序主要部分的背景顏色(toolbars垦写、tab bars 等)
  Brightness primaryColorBrightness, // primaryColor的亮度。用于確定文本的顏色和放置在主顏色之上的圖標(biāo)(例如工具欄文本)彰触。
  Color primaryColorLight, // primaryColor的淺色版
  Color primaryColorDark, // primaryColor的深色版
  Color accentColor, // 小部件的前景色(旋鈕梯投、文本、覆蓋邊緣效果等)。
  Brightness accentColorBrightness, // accentColor的亮度分蓖。
  Color canvasColor, //  MaterialType.canvas 的默認(rèn)顏色
  Color scaffoldBackgroundColor, // Scaffold的默認(rèn)顏色尔艇。典型Material應(yīng)用程序或應(yīng)用程序內(nèi)頁面的背景顏色。
  Color bottomAppBarColor, // BottomAppBar的默認(rèn)顏色
  Color cardColor, // Card的顏色
  Color dividerColor, // Divider和PopupMenuDivider的顏色么鹤,也用于ListTile之間终娃、DataTable的行之間等。
  Color highlightColor, // 選中在潑墨動(dòng)畫期間使用的突出顯示顏色午磁,或用于指示菜單中的項(xiàng)尝抖。
  Color splashColor,  // 墨水飛濺的顏色。InkWell
  InteractiveInkFeatureFactory splashFactory, // 定義由InkWell和InkResponse反應(yīng)產(chǎn)生的墨濺的外觀迅皇。
  Color selectedRowColor, // 用于突出顯示選定行的顏色。
  Color unselectedWidgetColor, // 用于處于非活動(dòng)(但已啟用)狀態(tài)的小部件的顏色衙熔。例如登颓,未選中的復(fù)選框。通常與accentColor形成對(duì)比红氯。也看到disabledColor框咙。
  Color disabledColor, // 禁用狀態(tài)下部件的顏色,無論其當(dāng)前狀態(tài)如何痢甘。例如喇嘱,一個(gè)禁用的復(fù)選框(可以選中或未選中)。
  Color buttonColor, // RaisedButton按鈕中使用的Material 的默認(rèn)填充顏色塞栅。
  ButtonThemeData buttonTheme, // 定義按鈕部件的默認(rèn)配置者铜,如RaisedButton和FlatButton。
  Color secondaryHeaderColor, // 選定行時(shí)PaginatedDataTable標(biāo)題的顏色放椰。
  Color textSelectionColor, // 文本框中文本選擇的顏色作烟,如TextField
  Color cursorColor, // 文本框中光標(biāo)的顏色,如TextField
  Color textSelectionHandleColor,  // 用于調(diào)整當(dāng)前選定的文本部分的句柄的顏色砾医。
  Color backgroundColor, // 與主色形成對(duì)比的顏色拿撩,例如用作進(jìn)度條的剩余部分。
  Color dialogBackgroundColor, // Dialog 元素的背景顏色
  Color indicatorColor, // 選項(xiàng)卡中選定的選項(xiàng)卡指示器的顏色如蚜。
  Color hintColor, // 用于提示文本或占位符文本的顏色压恒,例如在TextField中。
  Color errorColor, // 用于輸入驗(yàn)證錯(cuò)誤的顏色错邦,例如在TextField中
  Color toggleableActiveColor, // 用于突出顯示Switch探赫、Radio和Checkbox等可切換小部件的活動(dòng)狀態(tài)的顏色。
  String fontFamily, // 文本字體
  TextTheme textTheme, // 文本的顏色與卡片和畫布的顏色形成對(duì)比兴猩。
  TextTheme primaryTextTheme, // 與primaryColor形成對(duì)比的文本主題
  TextTheme accentTextTheme, // 與accentColor形成對(duì)比的文本主題期吓。
  InputDecorationTheme inputDecorationTheme, // 基于這個(gè)主題的 InputDecorator、TextField和TextFormField的默認(rèn)InputDecoration值。
  IconThemeData iconTheme, // 與卡片和畫布顏色形成對(duì)比的圖標(biāo)主題
  IconThemeData primaryIconTheme, // 與primaryColor形成對(duì)比的圖標(biāo)主題
  IconThemeData accentIconTheme, // 與accentColor形成對(duì)比的圖標(biāo)主題讨勤。
  SliderThemeData sliderTheme,  // 用于呈現(xiàn)Slider的顏色和形狀
  TabBarTheme tabBarTheme, // 用于自定義選項(xiàng)卡欄指示器的大小箭跳、形狀和顏色的主題。
  CardTheme cardTheme, // Card的顏色和樣式
  ChipThemeData chipTheme, // Chip的顏色和樣式
  TargetPlatform platform, 
  MaterialTapTargetSize materialTapTargetSize, // 配置某些Material部件的命中測試大小
  PageTransitionsTheme pageTransitionsTheme, 
  AppBarTheme appBarTheme, // 用于自定義Appbar的顏色潭千、高度谱姓、亮度、iconTheme和textTheme的主題刨晴。
  BottomAppBarTheme bottomAppBarTheme, // 自定義BottomAppBar的形狀屉来、高度和顏色的主題。
  ColorScheme colorScheme, // 擁有13種顏色狈癞,可用于配置大多數(shù)組件的顏色茄靠。
  DialogTheme dialogTheme, // 自定義Dialog的主題形狀
  Typography typography, // 用于配置TextTheme、primaryTextTheme和accentTextTheme的顏色和幾何TextTheme值蝶桶。
  CupertinoThemeData cupertinoOverrideTheme 
})

在Flutter中有兩種方法來使用主題慨绳,一種是全局范圍的主題

new MaterialApp(
    title: title,
    theme: ThemeData(
         primaryColor: Colors.red,
         //...
    ),
);

一種是使用 Theme Widget 創(chuàng)建局部主題,用于為某個(gè)頁面單獨(dú)設(shè)置主題

new Theme(
    data: ThemeData(
        accentColor: Colors.yellow,
        //...
    ),
    child: Text('Hello World'),
);

當(dāng)然真竖,如果你只是想改變部分主題樣式脐雪,可以使用 copyWith方法來繼承App的主題,只覆蓋部分樣式恢共。

new Theme(
    data: Theme.of(context).copyWith(accentColor: Colors.yellow),
    child: Text('copyWith method'),
);

創(chuàng)建好主題后战秋,要如何使用呢,在Widget的構(gòu)造方法里面通過Theme.of(context)方法來調(diào)用讨韭。
Theme.of(context) 會(huì)查找Widget 樹脂信,并返回最近的一個(gè)Theme對(duì)象。如果父層級(jí)上有Theme對(duì)象拐袜,則返回這個(gè)Theme,如果沒有吉嚣,就返回App的Theme

new Container(
    color: Theme.of(context).accentColor,
    chile: Text(
        'Text with a background color',
        style: Theme.of(context).textTheme.title,
    ),
);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蹬铺,一起剝皮案震驚了整個(gè)濱河市尝哆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌甜攀,老刑警劉巖秋泄,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異规阀,居然都是意外死亡恒序,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門谁撼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來歧胁,“玉大人,你說我怎么就攤上這事『拔。” “怎么了屠缭?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長崭参。 經(jīng)常有香客問我呵曹,道長,這世上最難降的妖魔是什么何暮? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任奄喂,我火速辦了婚禮,結(jié)果婚禮上海洼,老公的妹妹穿的比我還像新娘跨新。我一直安慰自己,他們只是感情好贰军,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布玻蝌。 她就那樣靜靜地躺著,像睡著了一般词疼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上帘腹,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天贰盗,我揣著相機(jī)與錄音,去河邊找鬼阳欲。 笑死舵盈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的球化。 我是一名探鬼主播秽晚,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼筒愚!你這毒婦竟也來了赴蝇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤巢掺,失蹤者是張志新(化名)和其女友劉穎句伶,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陆淀,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡考余,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了轧苫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片楚堤。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出身冬,到底是詐尸還是另有隱情衅胀,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布吏恭,位于F島的核電站拗小,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏樱哼。R本人自食惡果不足惜哀九,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望搅幅。 院中可真熱鬧阅束,春花似錦、人聲如沸茄唐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沪编。三九已至呼盆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蚁廓,已是汗流浹背访圃。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留相嵌,地道東北人腿时。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像饭宾,于是被迫代替她去往敵國和親批糟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容