Flutter 控件之 MaterialApp

MaterialApp 代表使用紙墨設(shè)計(Material Design)風格的應(yīng)用。里面包含了紙墨設(shè)計風格應(yīng)用所需要的基本控件。

MaterialApp 主要屬性如下:

  • title : 在任務(wù)管理窗口中所顯示的應(yīng)用名字
  • theme : 應(yīng)用各種 UI 所使用的主題顏色
  • color : 應(yīng)用的主要顏色值(primary color),也就是安卓任務(wù)管理窗口中所顯示的應(yīng)用顏色
  • home : 應(yīng)用默認所顯示的界面 Widget
  • routes : 應(yīng)用的頂級導航表格,這個是多頁面應(yīng)用用來控制頁面跳轉(zhuǎn)的,類似于網(wǎng)頁的網(wǎng)址
  • initialRoute :第一個顯示的路由名字,默認值為 Window.defaultRouteName
  • onGenerateRoute : 生成路由的回調(diào)函數(shù),當導航的命名路由的時候,會使用這個來生成界面
  • onLocaleChanged : 當系統(tǒng)修改語言的時候,會觸發(fā)?這個回調(diào)
  • navigatorObservers : 應(yīng)用 Navigator 的監(jiān)聽器
  • debugShowMaterialGrid : 是否顯示 紙墨設(shè)計 基礎(chǔ)布局網(wǎng)格,用來調(diào)試 UI 的工具
  • showPerformanceOverlay : 顯示性能標簽,https://flutter.io/debugging/#performanceoverlay
  • checkerboardRasterCacheImages 、showSemanticsDebugger、debugShowCheckedModeBanner 各種調(diào)試開關(guān)

下面將介紹重要的幾個屬性。

title

這個和啟動圖標名字是不一樣的,和當前 Activity 的名字也是不一樣的。 這個 Title 是用來定義任務(wù)管理窗口界面所看到應(yīng)用名字的。在原生 Android 系統(tǒng)中點擊圓圈 Home 按鈕右邊的方塊按鈕就會打開多任務(wù)切換窗口。

theme

定義應(yīng)用所使用的主題顏色,在紙墨設(shè)計中定義了 primaryColor、accentColor、hintColor 等顏色值??梢酝ㄟ^這個來指定一個 ThemeData 定義應(yīng)用中每個控件的顏色。

home

這個是一個 Widget 對象,用來定義當前應(yīng)用打開的時候,所顯示的界面。

color

定義系統(tǒng)中該應(yīng)用的主要顏色

routes

定義應(yīng)用中頁面跳轉(zhuǎn)規(guī)則。 該對象是一個 Map<String, WidgetBuilder>。
當使用 Navigator.pushNamed 來路由的時候,會在 routes 查找路由名字,然后使用 對應(yīng)的 WidgetBuilder 來構(gòu)造一個帶有頁面切換動畫的 MaterialPageRoute。如果應(yīng)用只有一個界面,則不用設(shè)置這個屬性,使用 home 設(shè)置這個界面即可。

如果 home 不為 null,當 routes 中包含 Navigator.defaultRouteName('/') 的時候會出錯,兩個都是 home 沖突了。

如果所查找的路由在 routes 中不存在,則會通過 onGenerateRoute 來查找。

initialRoute

指定默認顯示的路由名字,默認值為 Window.defaultRouteName

onGenerateRoute

路由回調(diào)函數(shù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 學習本系列內(nèi)容需要具備一定 HTML 開發(fā)基礎(chǔ),沒有基礎(chǔ)的朋友可以先轉(zhuǎn)至 HTML快速入門(一) 學習 本人...
    珍此良辰閱讀 7,418評論 33 15
  • [轉(zhuǎn)載自](http://www.cnblogs.com/SamWeb/p/6610733.html) 路由,其實...
    可爸閱讀 1,648評論 1 0
  • 本文是基于最新的react-navigation^2.9.1來書寫的。 要感謝掛著鈴鐺的兔看到一篇不錯的介紹,這里...
    HT_Jonson閱讀 944評論 0 52
  • 1路由,其實就是指向的意思,當我點擊頁面上的home按鈕時,頁面中就要顯示home的內(nèi)容,如果點擊頁面上的abou...
    你好陌生人丶閱讀 1,775評論 0 6
  • 互聯(lián)網(wǎng)的高速發(fā)展 互聯(lián)網(wǎng)尤其是移動互聯(lián)網(wǎng)近些年發(fā)展尤為迅速,漸漸的從一個社會眾多行業(yè)和職業(yè)中的一種,逐步走向大眾的...
    一葉也知秋閱讀 1,153評論 1 0

友情鏈接更多精彩內(nèi)容