Flutter 控件之 MaterialApp

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

MaterialApp 主要屬性如下:

title : 在任務(wù)管理窗口中所顯示的應(yīng)用名字

theme : 應(yīng)用各種 UI 所使用的主題顏色

color : 應(yīng)用的主要顏色值(primary color),也就是安卓任務(wù)管理窗口中所顯示的應(yīng)用顏色

home : 應(yīng)用默認(rèn)所顯示的界面 Widget

routes : 應(yīng)用的頂級(jí)導(dǎo)航表格,這個(gè)是多頁面應(yīng)用用來控制頁面跳轉(zhuǎn)的,類似于網(wǎng)頁的網(wǎng)址

initialRoute :第一個(gè)顯示的路由名字,默認(rèn)值為 Window.defaultRouteName

onGenerateRoute : 生成路由的回調(diào)函數(shù),當(dāng)導(dǎo)航的命名路由的時(shí)候,會(huì)使用這個(gè)來生成界面

onLocaleChanged : 當(dāng)系統(tǒng)修改語言的時(shí)候,會(huì)觸發(fā)?這個(gè)回調(diào)

navigatorObservers : 應(yīng)用 Navigator 的監(jiān)聽器

debugShowMaterialGrid : 是否顯示 紙墨設(shè)計(jì) 基礎(chǔ)布局網(wǎng)格,用來調(diào)試 UI 的工具

showPerformanceOverlay : 顯示性能標(biāo)簽,https://flutter.io/debugging/#performanceoverlay

checkerboardRasterCacheImages 、showSemanticsDebugger、debugShowCheckedModeBanner 各種調(diào)試開關(guān)

下面將介紹重要的幾個(gè)屬性。

title

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

theme

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

home

這個(gè)是一個(gè) Widget 對(duì)象,用來定義當(dāng)前應(yīng)用打開的時(shí)候,所顯示的界面。

color

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

routes

定義應(yīng)用中頁面跳轉(zhuǎn)規(guī)則。 該對(duì)象是一個(gè) Map。

當(dāng)使用 Navigator.pushNamed 來路由的時(shí)候,會(huì)在 routes 查找路由名字,然后使用 對(duì)應(yīng)的 WidgetBuilder 來構(gòu)造一個(gè)帶有頁面切換動(dòng)畫的 MaterialPageRoute。如果應(yīng)用只有一個(gè)界面,則不用設(shè)置這個(gè)屬性,使用 home 設(shè)置這個(gè)界面即可。

如果 home 不為 null,當(dāng) routes 中包含 Navigator.defaultRouteName('/') 的時(shí)候會(huì)出錯(cuò),兩個(gè)都是 home 沖突了。

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

initialRoute

指定默認(rèn)顯示的路由名字,默認(rèn)值為 Window.defaultRouteName

onGenerateRoute

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

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

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

  • MaterialApp 代表使用紙墨設(shè)計(jì)(Material Design)風(fēng)格的應(yīng)用。里面包含了紙墨設(shè)計(jì)風(fēng)格應(yīng)用所...
    CQ_TYL閱讀 1,771評(píng)論 0 5
  • 前言 學(xué)習(xí)本系列內(nèi)容需要具備一定 HTML 開發(fā)基礎(chǔ),沒有基礎(chǔ)的朋友可以先轉(zhuǎn)至 HTML快速入門(一) 學(xué)習(xí) 本人...
    珍此良辰閱讀 7,418評(píng)論 33 15
  • [轉(zhuǎn)載自](http://www.cnblogs.com/SamWeb/p/6610733.html) 路由,其實(shí)...
    可爸閱讀 1,648評(píng)論 1 0
  • 本文是基于最新的react-navigation^2.9.1來書寫的。 要感謝掛著鈴鐺的兔看到一篇不錯(cuò)的介紹,這里...
    HT_Jonson閱讀 944評(píng)論 0 52
  • 秋,定是個(gè)女子, 定是個(gè)愛哭的女子。 她一哭就是三兩天, 人們的心情也莫名地憂傷起來。 你瞧,那綿綿的秋雨, 就是...
    書香歲月靜好閱讀 291評(píng)論 0 2

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