欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

flutter的坑,flutter難不難

Flutter遇到的坑

最近寫了一個(gè)LoadingView用于頁面的網(wǎng)絡(luò)加載,使用的是StatefulWidget。由于項(xiàng)目是使用的Get對(duì)狀態(tài)進(jìn)行控制的,所以在GetBuild中對(duì)Loading進(jìn)行刷新。但在使用中發(fā)現(xiàn)rebuild LoadingView沒有刷新狀態(tài),看參數(shù)是在Widget中更新了的。

創(chuàng)新互聯(lián)公司從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元如東做網(wǎng)站,已為上家服務(wù),為如東各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

后續(xù)定位發(fā)現(xiàn),StatefulWidget在rebuild的時(shí)候,并不會(huì)重新執(zhí)行initState方法,而只會(huì)執(zhí)行build方法,這也符合state和widget的一對(duì)多原則。知道問題所在,修改也非常簡單。去掉state中的status變量,使用widget中的initStatus值即可。

在此記錄,對(duì)于Get的一些注意點(diǎn)。

目前項(xiàng)目中對(duì)Widget進(jìn)行了內(nèi)嵌LoadingView的BaseWidget封裝,對(duì)GetxController進(jìn)行了LoadingStatus狀態(tài)操作的BaseController封裝。發(fā)現(xiàn)在第二個(gè)繼承了BaseWidget的頁面中,對(duì)綁定的Controller進(jìn)行update操作無效。

閱讀源碼后發(fā)現(xiàn),GetBuilder的global參數(shù)默認(rèn)是true,在沒有指定tag的情況下,會(huì)根據(jù)controller作為key進(jìn)行全局map,若第二次調(diào)用時(shí),會(huì)先通過Controller進(jìn)行g(shù)et,正好我們的BaseWidget使用的是BaseController導(dǎo)致全局只有一個(gè)Controller從而導(dǎo)致第二個(gè)頁面無法刷新問題。我們只需要在基類中將global改為false,直接使用init的controller即可。

目前在做App的主題色切換功能,發(fā)現(xiàn)在部分主題色下,Appbar的標(biāo)題和Action自動(dòng)變成深色,查閱資料后得知,由于色值的computeLuminance值過大導(dǎo)致Brightness自動(dòng)為Brightness.light。

知道原因后就好辦了,通過設(shè)置ThemeData里面的Brightness類型的參數(shù)為Brightness.dark(注意我們只需要Appbar為深色,brightness參數(shù)控制的是整個(gè)頁面,不修改)。經(jīng)驗(yàn)證,primaryColorBrightness控制Appbar的標(biāo)題和action,修改即可。

flutter 藍(lán)牙開發(fā)遇到的坑

flutter 藍(lán)牙開發(fā)遇到的坑

最近在做個(gè)flutter藍(lán)牙功能,用的flutter_blue,在iOS上沒有任何問題,照著例子寫完,正常運(yùn)行藍(lán)牙功能,但是在安卓上發(fā)現(xiàn)各種坑,用這個(gè)插件首先是有些設(shè)備拿不到設(shè)備名稱,還有就是讀寫特征和ios上拿到的也不一樣。折騰好久,最后在github上找到外國友人給出的方案,就是用flutter_bluetooth_serial這個(gè)插件可以解決以上問題,就試了一下,結(jié)果真可以解決問題,而且這個(gè)用法感覺比flutter_blue 更強(qiáng)大,不需要通過讀寫特征值進(jìn)行通訊,直接就能通過connection寫入和接收數(shù)據(jù)。做下記錄,希望能幫到有同樣問題的人。因?yàn)槲以谟龅絾栴}時(shí),百度了全是不能解決問題的辦法。

Flutter 集成第三方藍(lán)牙庫踩坑記錄

最近在寫flutter應(yīng)用,需要集成藍(lán)牙功能,用了一個(gè)第三方的庫,踩了一些坑,做一下記錄。

這是庫的地址 PhilipsHue/flutter_reactive_ble: Flutter library that handles BLE operations for multiple devices. (github.com)

安卓主要的坑就是,在使用藍(lán)牙功能的時(shí)候,需要獲取定位權(quán)限,這個(gè)需要?jiǎng)討B(tài)獲取。

集成之后,編譯出錯(cuò),提示Swift Compiler Error。

(1)首先嘗試,修改對(duì)應(yīng)三方庫的Swift編譯版本。

我這邊嘗試修改,沒有成功。

(2) 沒辦法,我這邊手動(dòng)修改三方庫的源碼文件,進(jìn)行修復(fù)。重新編譯成功。

其他問題

win7安裝flutter踩的坑記錄

之前安裝flutter sdk已經(jīng)安裝ok了,但是最近升級(jí)了一下flutter版本到1.26,發(fā)現(xiàn)崩了,記錄一下出的錯(cuò)及解決方法。

提前已經(jīng)安裝好android studio 及 android 環(huán)境

1,運(yùn)行flutter_console,輸入flutter doctor 閃退問題

cmd閃退,放到PowerShell中執(zhí)行,我是發(fā)現(xiàn)以下的錯(cuò)誤

fix:PowerShell最低要求為5.0,

升級(jí)方案:

2:運(yùn)行flutter doctor 無反應(yīng)問題

第一種方案-檢查環(huán)境變量配置

第二種方案-fc

3:android studio創(chuàng)建flutter project時(shí)間比較長問題

運(yùn)行flutter

報(bào)錯(cuò)提示上看得執(zhí)行flutter doctor --android-licenses

到此就可以正常執(zhí)行了

Flutter踩坑之旅

記錄下自己踩過的坑,怕忘了

一.TextField:

1.去掉輸入數(shù)字的計(jì)數(shù):decoration中的counterStyle: TextStyle(color: Colors.transparent).

2.去掉獲取和失去焦點(diǎn)時(shí)邊框改變顏色的效果:decoration內(nèi)border: InputBorder.none,

3.去邊框時(shí)設(shè)置BorderSide的width為0或color: Colors.transparent后依然存在邊框時(shí),需要設(shè)置為borderSide: BorderSide.none

4.設(shè)置背景色需要在decoration內(nèi) ? ? filled:true, ? fillColor: Colors.blue同時(shí)設(shè)置才會(huì)顯示

二.Uint8List類型和string類型,Listint的轉(zhuǎn)換

連續(xù)兩次base64解碼時(shí),參數(shù)只能使用string類型,但是base64解碼后是Uint8List類型,此時(shí)需要將Uint8List類型轉(zhuǎn)換為string類型,使用:utf8.decode(Uint8List)即可,需要import 'dart:convert';

Listint轉(zhuǎn)Uint8List:讀取接口時(shí)獲取的數(shù)據(jù)是Listint的圖片數(shù)據(jù),想顯示時(shí)需要轉(zhuǎn)成Uint8List,然后使用Image.memory(),使用:Uint8List.fromList(Listint)即可

三.報(bào)錯(cuò):DioError [DioErrorType.DEFAULT]: FormatException: Unexpected character (at character 1)MGFlMFo0NEZ3RWNMbE5YbGNGOXZGcUlJdUhIS2x2Q3NlckxqWXlEeG5JWndZdXIrSUpLN3ZOczR...

這是因?yàn)閐io請(qǐng)求返回的數(shù)據(jù)默認(rèn)是以json的格式讀取的,而返回的數(shù)據(jù)是密文形式,需要修改dio的Options的responseType為ResponseType.PLAIN,這樣返回的數(shù)據(jù)就以字符串形式處理.

四.去掉點(diǎn)擊控件背景出現(xiàn)的水波紋效果,即去掉md的效果:

在main.dart的MaterialApp內(nèi)的theme加上splashColor: Colors.transparent

五.布局去掉沉浸式效果和布局設(shè)置占滿全屏卻無效的問題

使用Scaffold的body的布局默認(rèn)是沉浸式的,將狀態(tài)欄一起包含了,可以通過在body后添加一層SafeArea即可.

布局設(shè)置double.infinity占滿全屏高度卻無效,大部分情況都是因?yàn)槟骋患?jí)的父布局的高度已經(jīng)有了限制,所以設(shè)置充滿屏幕只會(huì)充滿父布局,有些widget默認(rèn)是按內(nèi)容填充類似wrap_content就會(huì)導(dǎo)致寫布局的過程中自己沒有限制高度但最后的布局不是自己想要的,可以給各個(gè)父布局設(shè)置不同背景顏色來查看是從哪兒開始被限制了高度來排查問題.

六.占滿剩余空間,類似android的match_parent可以使用double.infinity

七.LinearProgressIndicator

1.LinearProgressIndicator設(shè)置進(jìn)度值的顏色為單一顏色:valueColor : new AlwaysStoppedAnimation(Color(JColor.blue))

2.給LinearProgressIndicator設(shè)置圓角:ClipRRect(

borderRadius:BorderRadius.circular(60.0),

child:LinearProgressIndicator(value:0.2,backgroundColor:Color(JColor.grayBg),valueColor:new AlwaysStoppedAnimation(Color(JColor.blue)),

)

八.Expanded:

1.若嵌套多層column且內(nèi)容的高度都不確定需要占滿剩余空間,需要每層的column的內(nèi)容都嵌套一層expanded來申明每層都占滿剩余的空間,否則最里面的內(nèi)容層需要指定高度,不然會(huì)報(bào)錯(cuò)

九.Container設(shè)置最小/大寬度或高度:

constraints:BoxConstraints(minHeight:56),

十.滑動(dòng)的widget嵌套:

1.解決滑動(dòng)沖突:內(nèi)層嵌套的滑動(dòng)widget設(shè)置physics:NeverScrollableScrollPhysics()

2.解決滑動(dòng)嵌套u(yù)i顯示不出來或者報(bào)錯(cuò),內(nèi)層的滑動(dòng)widget設(shè)置shrinkWrap:true

十一.使用multi_image_picker: ^4.3.4安卓運(yùn)行報(bào)錯(cuò)Didn't find class "com.sangcomz.fishbun.FishBunFileProvider"

1.需要android工程支持androidx,需要在android工程的gradle.properties內(nèi)添加android.enableJetifier=true和android.useAndroidX=true并點(diǎn)擊右上角的open for editing in android studio,運(yùn)行成功后就可以了

十二.使用textfield時(shí)的文字ui總是很高

使用了maxlength且只是在textfield的InputDecoration設(shè)置counterStyle的顏色為透明使下面的計(jì)數(shù)文字消失會(huì)導(dǎo)致文字ui很高,counter的計(jì)數(shù)文字只是顏色是透明但依然在布局中占了位置所以導(dǎo)致文字很高,直接使用counterText:""即可

十三.使用ListView報(bào)錯(cuò)Vertical viewport was given unbounded height

需要將ListView放入Expanded內(nèi)部

新聞名稱:flutter的坑,flutter難不難
文章來源:http://aaarwkj.com/article42/dsigdhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、Google、品牌網(wǎng)站建設(shè)、App開發(fā)、自適應(yīng)網(wǎng)站、定制開發(fā)

廣告

聲明:本網(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)

h5響應(yīng)式網(wǎng)站建設(shè)
粉嫩美女精品一区二区| 1区2区3区精品视频| 国产激情视频在线观看你懂的| 国产女孩精品在线播放| 人妻一区日韩二区国产| 亚乱熟女一区二区三区| 国产福利在线观看午夜| 亚洲欧美精品专区极品| 精品中文人妻中文字幕| 国产91在线拍揄自揄| 天天干夜夜操操操操| 日本高清加勒比免费在线| 亚洲免费黄色大片网站| av天堂中文一区二区三区| 香蕉视频欧美日韩国产| 精品三级黄色国产片| 亚洲第一国产综合自拍| 欧美又粗又成人大视频| 亚洲欧美日韩1区2区| 日韩精品中文字幕免费人妻| 亚洲乱色熟女一区二区三区麻豆 | 久久人妻精品一区二区三区| 黑人精品少妇一区二区三区| 人妻少妇精品一区毛二区| 青青草青青草在线观看视频| 熟妇人妻精品一区二区| 99热国产这里只有精品| 蜜臀99久久精品久久久| 色偷拍亚洲偷自拍二区| 扒开女性毛茸茸的视频| 四虎国产精品久久久久久网址| 国产产品在线免费看91| 国产成年人在线免费观看| 亚洲av成人av天堂| 日韩欧美国产综合第一页| 亚洲熟女午夜毛片av毛片| 国产一区二区成人精品| 免费av不卡一区二区| 五月婷婷六月丁香免费视频| 亚洲精品啪啪一区二区| 精品国产乱码久久蜜桃|