這篇將會(huì)解決手動(dòng)切換主題以及跟隨手機(jī)切換主題來更新UI(包括自己創(chuàng)建的Widget)

創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、小程序設(shè)計(jì)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動(dòng)互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十余年以來,已經(jīng)為數(shù)千家成都電動(dòng)窗簾各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)。現(xiàn)在,服務(wù)的數(shù)千家客戶與我們一路同行,見證我們的成長(zhǎng);未來,我們一起分享成功的喜悅。
主題切換有個(gè)問題,就是如果是我們自定義或者在 build() 自己創(chuàng)建的部件是不會(huì)隨著系統(tǒng)的主題切換而發(fā)生主題色變化的(實(shí)際測(cè)試中,如果頁面在頂層(沒有被push)切換主題并不會(huì)觸發(fā) build() 方法,(push之后的頁面切換系統(tǒng)主題是可以觸發(fā) build() 的,而且會(huì)頻繁觸發(fā)好多次...),既然無法通過重新 build 更新組件的主題色,那么我們?cè)谇袚Q主題后,強(qiáng)制觸發(fā)整個(gè)app的 build() 就可以了)
查看所有分支和當(dāng)前分支
切換 到指定分支。 例如
查看所有版本
切換 到指定版本。 例如
更新到最新版本
cd到自己的flutter目錄下
執(zhí)行。git reset --hard id
這是1.20.4的id
git reset --hard fba99f6cf9a14512e461e3122c8ddfaa25394e89
這是2.5.1的id
git reset --hard ffb2ecea5223acdd139a5039be2f9c796962833d
這是1.22.4的id
git reset --hard 1aafb3a8b9b0c36241c5f5b34ee914770f015818
這是1.22.3的id
git reset --hard 8874f21e79d7ec66d0457c7ab338348e31b17f1d
flutter git地址
找commit id 的手順
MaterialApp 是我們app開發(fā)中常用的符合MaterialApp Design設(shè)計(jì)理念的入口Widget。MaterialApp這個(gè)組件里面的參數(shù)比較多,而且一般在應(yīng)用入口會(huì)用到,所以這里把它內(nèi)部的所有參數(shù)都列出來了
基本用法:
可以看到我們?cè)?App 的最外層直接使用了 MaterialApp ,可以指定App的名稱( title ),App的主題樣式( theme ),首頁的組件( home ),路由跳轉(zhuǎn)配置)( routes ),關(guān)于路由跳轉(zhuǎn)我們?cè)诤竺娴恼鹿?jié)中會(huì)介紹
Scaffold 實(shí)現(xiàn)了基本的 Material Design 布局結(jié)構(gòu), Scaffold 在英文中的解釋為角手架,我們可以理解為樓體中的鋼架結(jié)構(gòu),通過它可以構(gòu)建一個(gè)頁面
在Flutter應(yīng)用開發(fā)中,我們可以將 Scaffold 理解為一個(gè)布局的容器。可以在這個(gè)容器中繪制我們的用戶界面
下面是 MaterialApp + Scaffold 的組合的基本用法
AppBar 就是頂部的導(dǎo)航欄組件,支持自定義標(biāo)題,左右兩側(cè)的工具欄按鈕等
BottomNavigationBar 是底部的菜單欄組件
使用方法:
一般我們會(huì)定義一個(gè)全局變量如 _currentIndex 用于記錄當(dāng)前選中的下標(biāo)。然后在 onTap 屬性的回調(diào)方法中調(diào)用
setState(() { _currentIndex = index;}); 更新 _currentIndex 就可以實(shí)現(xiàn)底部菜單的切換。 BottomNavigationBar 一般會(huì)配合 BottomNavigationBarItem 一起使用(如下所示)
RefreshIndicator 是Flutter中的下拉刷新組件,一般配合 ListView 組件一起使用
Image 就類似于android中的 ImageView ,可以自定義圖片顯示的寬高
從網(wǎng)絡(luò)中加載圖片
從本地(File文件)加載圖片
從本地資源加載圖片
可以將byte數(shù)組加載成圖片
TextField 就類似于android的 EditText
PageView 就類似于android中的 ViewPager
標(biāo)準(zhǔn)的Flutter App工程,包含標(biāo)準(zhǔn)的Dart層與Native平臺(tái)層
Flutter平臺(tái)插件工程,包含Dart層與Native平臺(tái)層的實(shí)現(xiàn)
Flutter純Dart插件工程,僅包含Dart層的實(shí)現(xiàn),往往定義一些公共Widget
參考資料:
當(dāng)前標(biāo)題:flutter切換菜單,flutter長(zhǎng)按彈出菜單
網(wǎng)站網(wǎng)址:http://chinadenli.net/article30/dsipjpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)、小程序開發(fā)、商城網(wǎng)站、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)