一、前言
創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比泰山網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式泰山網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋泰山地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴(lài)。
Flutter開(kāi)發(fā),就需要對(duì)各種狀態(tài)的管理,就是在請(qǐng)求數(shù)據(jù)的時(shí)候需要實(shí)時(shí)變化,各種交互變化等,在沒(méi)有使用GetX之前使用Provider,用Provider的時(shí)候覺(jué)得真香,挺方便的,需要刷新的時(shí)候直接 notifyListeners(); 用了GetX之后覺(jué)得Provider太繁瑣了。這邊介紹下GetX的使用以及常用的方法。
二、 GetX
GetX 是 Flutter 上的一個(gè)輕量且強(qiáng)大的解決方案:高性能的狀態(tài)管理、智能的依賴(lài)注入和便捷的路由管理。
1、相關(guān)優(yōu)勢(shì):
三、使用
1、第一步 引入get
2、第二步
修改入口、配置路由
3、路由
Routes類(lèi)
Pages類(lèi)
4、狀態(tài)管理
我一般一個(gè)page對(duì)應(yīng)一個(gè)controller, controller來(lái)處理邏輯,控制page.
簡(jiǎn)單使用
5、依賴(lài)注入
依賴(lài)注入也是我喜歡的,可以減少很多工作。
第一步
第二步
6、跨頁(yè)面交互
7、黑暗模式
可以參考前期寫(xiě)的博客。 黑暗模式的適配
首先,你需要導(dǎo)入 services 包 :
我們可以通過(guò) SystemChrome 這個(gè)類(lèi)的 setPreferredOrientations方法來(lái)設(shè)置屏幕方向。
setPreferredOrientations()方法,參數(shù)是一個(gè)數(shù)組 ,我們可以設(shè)置多個(gè)方向(定義在 DeviceOrientation 枚舉類(lèi)中)。
在Flutter中主函數(shù)入口是 main()方法,如果我們想設(shè)置整個(gè)應(yīng)用的屏幕方向,在runApp()方法之前設(shè)置即可。
注意 : 設(shè)置屏幕方法調(diào)用之前,需要調(diào)用一下 binding 的初始化方法(先記住即可)
landscapeLeft or landscapeRight 可以設(shè)置一個(gè)或者兩個(gè),效果試一下就知道了
設(shè)置屏幕垂直方向 :
動(dòng)態(tài)改變屏幕方向 :
獲取當(dāng)前屏幕方向 :
參考 :
(自備梯子)
如果覺(jué)得文章有用,幫忙點(diǎn)個(gè)喜歡?? ,???????????? 贈(zèng)人玫瑰,手留余香
首先查看入口函數(shù):
類(lèi)MyApp:
MyHomePage:
state:
build:
此demo頁(yè)面涉及到兩個(gè)組件:圖片和icon。在這里做一個(gè)簡(jiǎn)單的介紹,更詳細(xì)的學(xué)習(xí)請(qǐng)參考flutter官網(wǎng)和相關(guān)書(shū)籍
在flutter中,我們可以通過(guò)Image組件來(lái)加載并顯示圖片,Image的數(shù)據(jù)源可以是asset、文件、內(nèi)存以及網(wǎng)絡(luò)。
ImageProvider 是一個(gè)抽象類(lèi),主要定義了圖片數(shù)據(jù)獲取的接口 load() ,從不同的數(shù)據(jù)源獲取圖片需要實(shí)現(xiàn)不同的 ImageProvider ,如 AssetImage 是實(shí)現(xiàn)了從Asset中加載圖片的ImageProvider,而 NetworkImage 實(shí)現(xiàn)了從網(wǎng)絡(luò)加載圖片的ImageProvider。
Image也提供了一個(gè)快捷的構(gòu)造函數(shù) Image.asset 用于從asset中加載、顯示圖片:
Image也提供了一個(gè)快捷的構(gòu)造函數(shù) Image.network 用于從網(wǎng)絡(luò)加載、顯示圖片:
Flutter中,可以像web開(kāi)發(fā)一樣使用iconfont,iconfont也即"字體圖標(biāo)",它是將圖標(biāo)做成字體文件,然后通過(guò)指定不同的字符而顯示不同的圖片。
加號(hào)為圖片組件,減一為icon組件。點(diǎn)擊加號(hào),數(shù)字加1;點(diǎn)擊-1,數(shù)字減少1。
插件入口
以下是Docker搭建Sentry平臺(tái)的步驟,請(qǐng)保證每一步執(zhí)行完成:
-啟動(dòng) Sentry Server,同時(shí)添加端口映射。Sentry的端口為9000,可以使用 -p 9000:9000 參數(shù),在啟動(dòng)后可以通過(guò)訪(fǎng)問(wèn) 或 進(jìn)入Sentry的web管理頁(yè)面:
進(jìn)入Web管理頁(yè)面后,按照提示配置管理員賬號(hào)密碼與其他信息。注意:URL填寫(xiě)你所訪(fǎng)問(wèn)的地址,如 。
配置成功后,按順序進(jìn)入Project-internal-Setting頁(yè)面, 選擇右側(cè)Release標(biāo)簽
復(fù)制WEBHOOK中的curl命令,打開(kāi)終端發(fā)送請(qǐng)求,即可在頁(yè)面上看到測(cè)試的錯(cuò)誤日志信息:
新建一個(gè)Flutter工程,android模塊。
1,只有一個(gè)Activity組件,它是Dart層繪制Widget的容器。
2,Application配置FlutterApplication。
應(yīng)用Application配置io.flutter.app.FlutterApplication類(lèi),App首次啟動(dòng)時(shí),初始化。
調(diào)用FlutterMain.startInitialization()方法。
initConfig方法,從AndroidManfest.xml配置的applicaion節(jié)點(diǎn)獲取meta-data數(shù)據(jù),初始化以下默認(rèn)值。
這些值都是使用中用到的name,例如,抽取apk中asset資源時(shí),flutter_assets打包目錄,打包產(chǎn)物data名稱(chēng)。
initResources方法, 初始化資源。
在Flutter打包apk的asset目錄下,包括fluttter_asset目錄/資源項(xiàng),將資源從apk中抽取,保存在 Context.getDir("flutter", 0) 目錄下。
/data/user/0/包名/app_flutter目錄。
在目錄中創(chuàng)建一個(gè)時(shí)間戳文件,根據(jù)apk版本和包信息記錄的lastUpdateTime更新時(shí)間,第二次啟動(dòng)時(shí),若apk未更新,不需要再次抽取。
加載so庫(kù),libflutter.so,System.loadLibrary()。
主頁(yè)面繼承FlutterActivity,配置啟動(dòng)模式singleTop。
FlutterActivity類(lèi)在io.flutter.app包, (區(qū)別io.flutter.embedding.android包), 組件生命周期委托給FlutterActivityDelegate類(lèi)。
組件啟動(dòng),onCreate方法。
FlutterMain.ensureInitializationComplete方法,確保資源成功抽取完成,創(chuàng)建FlutterView視圖(io.flutter.view),繼承SurfaceView類(lèi),setContentView方法,設(shè)置組件主布局即FlutterView視圖。
最后,根據(jù)Bundle路徑,runBundle()加載運(yùn)行,
調(diào)用FlutterView的runFromBundle方法,入口點(diǎn)在dart的main方法,
通過(guò)FlutterNativeView,調(diào)用FlutterJNI的native方法。
nativeRunBundleAndSnapshotFromLibrary方法。
任重而道遠(yuǎn)
文章題目:flutter入口,flutter
分享地址:http://jinyejixie.com/article8/dssoiop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、建站公司、靜態(tài)網(wǎng)站、面包屑導(dǎo)航、App開(kāi)發(fā)、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)