這種方法最常見,但是有些地方引用的話,刷新的成本比較大,刷新的是整個頁面,數(shù)據(jù)太多加載太慢的話,會有閃爍的現(xiàn)象

10年積累的成都做網(wǎng)站、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有安康免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
這種方法類似于iOS中的set方法,通過設(shè)置某個屬性的時候,去刷新某個控件。在flutter中這種刷新方式,是對上面setState(){}方法的改進(jìn),根本的方法還是setState(){},只不過是通過方法去刷新某個控件。如下:
首先在pubspec.yaml中添加provider依賴
下面通過provider來實現(xiàn)一個發(fā)送驗證碼的案例。
創(chuàng)建一個TimerModel文件
頁面布局如下:
首先查看入口函數(shù):
類MyApp:
MyHomePage:
state:
build:
此demo頁面涉及到兩個組件:圖片和icon。在這里做一個簡單的介紹,更詳細(xì)的學(xué)習(xí)請參考flutter官網(wǎng)和相關(guān)書籍
在flutter中,我們可以通過Image組件來加載并顯示圖片,Image的數(shù)據(jù)源可以是asset、文件、內(nèi)存以及網(wǎng)絡(luò)。
ImageProvider 是一個抽象類,主要定義了圖片數(shù)據(jù)獲取的接口 load() ,從不同的數(shù)據(jù)源獲取圖片需要實現(xiàn)不同的 ImageProvider ,如 AssetImage 是實現(xiàn)了從Asset中加載圖片的ImageProvider,而 NetworkImage 實現(xiàn)了從網(wǎng)絡(luò)加載圖片的ImageProvider。
Image也提供了一個快捷的構(gòu)造函數(shù) Image.asset 用于從asset中加載、顯示圖片:
Image也提供了一個快捷的構(gòu)造函數(shù) Image.network 用于從網(wǎng)絡(luò)加載、顯示圖片:
Flutter中,可以像web開發(fā)一樣使用iconfont,iconfont也即"字體圖標(biāo)",它是將圖標(biāo)做成字體文件,然后通過指定不同的字符而顯示不同的圖片。
加號為圖片組件,減一為icon組件。點擊加號,數(shù)字加1;點擊-1,數(shù)字減少1。
在默認(rèn)情況下頁面切換走時會被銷毀,頁面切換回來時會被重新創(chuàng)建,如果頁面中有列表那么整個列表將會被重新創(chuàng)建,降低了用戶體驗,下面是解決這個問題的幾種處理方式
Element管理Widget和RenderObject。
widget保持顯示當(dāng)前的頁面狀態(tài),當(dāng)widget產(chǎn)生點擊等交互,調(diào)用setState()改變element中管理的state,
Flutter 有兩種組件,一種是 StatelessWidget ,另一種是 StatefulWidget。
StatelessWidget 組件生命周期函數(shù)只有兩個:
StatefulWidget的生命周期主要由三部分組成:
可以在 initSate() 方法中使用以下方法。只會在頁面渲染完成后調(diào)用一次。
DartWidgetsBinding.instance!.addPostFrameCallback((duration) {});
分享文章:flutter等待頁面,flutter doctor一直等待
當(dāng)前地址:http://chinadenli.net/article11/dsihegd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、關(guān)鍵詞優(yōu)化、域名注冊、ChatGPT、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)