欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

關(guān)于flutter使用的信息

Flutter初學(xué) —— 常用控件使用

在編寫幾個 Flutter 項目后,發(fā)現(xiàn) Flutter 的強大之處在于業(yè)務(wù)中所有用到的控件以及場景都有對應(yīng)的處理方案;而 Dart 語言也與 Java 、 Kotlin 類似,所以對 Android 開發(fā)者來說門檻非常低;特意記錄一下常用的控件及其使用:

為巴彥等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及巴彥網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、巴彥網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

StatelessWidget 不需要額外的創(chuàng)建 State

StatefulWidget 創(chuàng)建 State 類,并可以在其中保存一些狀態(tài)

only 可以單獨設(shè)置每個方向的內(nèi)邊距

類似于 LinearLayout 中的 orientation 設(shè)置為 vertical , mainAxisAlignment 表示豎向的一個對齊方式, crossAxisAlignment 表示橫向的對齊方式

與 Column 相反,主軸是橫向,對齊方式類似, crossAxisAlignment 表示豎向的對齊方式

類似 SizedBox ,一個容器,但是主要功能是有一個 decoration —— 裝飾器,作用是繪制背景,或者使用 item 中的陰影

棧,先入后出,類似于 Android 上的 FrameLayout

通常配合 Stack 使用,固定顯示在某一個位置

配合多 child 使用,會填充剩余的空間

Image 功能強大,使用不同的方法可以加載不同來源的圖片

看到這些方法,突然覺得 Flutter 太香了,而且 Image 可以配置 clip 等裁剪出不同形狀的圖片,無論是圓形還是五角星都不在話下,然而 Android 要實現(xiàn)不規(guī)則的形狀,可是要下不少功夫的。

名字和 Android 的一模一樣,但是用法卻比 Android 的簡單很多:

主要就是 itemCount 與 itemBuilder ,其余就是配置樣式, itemBuilder 需要返回一個 widget ,當(dāng)然了,每個 ListView 都有其對應(yīng)的 item ,在里面的方法中編寫 widget 即可

與 ListView 類似,但是需要有一個 delegate 類,作用是設(shè)置有多少列,每一列之間的間距是多少

GridView 沒有 build , children 表示所有的子 view

最常用的控件之一,有非常多的樣式, Flutter 中通常是使用裝飾器來處理控件的,如背景使用 BoxDecoration , TextFiled 使用 InputDecoration ; 使用如下

Flutter_圖片分辨率適配及批量拓展使用

flutter開發(fā)中,圖片的引用是必不可少的,所以為了提高效率和精準(zhǔn)度,我們需要對不同分辨率的手機使用相對應(yīng)的切圖圖片,本章介紹如何進(jìn)行 圖片分辨率適配 和 圖片批量拓展處理 。

flutter中會首先根據(jù)系統(tǒng)的devicePixelRatio(每一個邏輯像素包含多少個原始像素,可以通過MediaQueryData.devicePixelRatio來得到)來找對應(yīng)倍數(shù)的文件夾下的圖片,如果沒有對應(yīng)倍數(shù),找最接近的。

所以在flutter項目中,我們需要構(gòu)建對應(yīng)的倍數(shù)像素文件夾

之后再pubspec.yaml中,配置assets文件后就可以使用了(如使用"assets/images/jay.png",會自動適配該像素下最接近的jay圖片)。

使用flutter-img-sync插件批量化處理,具體操作如下

目前還不能處理gif、webp等格式的圖片,而且如果和上邊介紹的不同像素比適配方案一起使用的話,由于進(jìn)行了精準(zhǔn)定位,所以指定圖片后就不能進(jìn)行像素適配,這是目前還存在的較大問題,所以目前兩者方案只能暫時取一使用。

flutter 表單Form使用示例

flutter提供一套表單校驗框架Form,可以通過Form框架一步校驗所有表單,非常方便,比較常用的用法是Form+TextFormField。

Form繼承StatefulWidget,有一個widget 類型的child參數(shù),證明Form是一個容器。

Form里還有一個validate方法,如下

一般通過GlobalKey來訪問Form中validate方法,F(xiàn)orm的validate方法用來校驗所有Form里的FormField表單,validate方法返回值是bool類型,返回true表示所有表單校驗成功;返回false表示有校驗失敗的表單;

TextFormField繼承FormField,F(xiàn)ormField后面源碼分析會講,所有Form可統(tǒng)一校驗的表單都必須繼承FormField,可以通過FormField自定義各種各樣可校驗表單,TextFormField只是FormField自定義表單中的一種。

表單校驗必須實現(xiàn)的方法為validator,定義如下:

每個表單的校驗規(guī)則都在validator里實現(xiàn),通過返回值來判斷是否校驗成功。

1、用Form包在所有需要校驗的表單最外層,如下:

2、將GlobalKey傳給Form,用于調(diào)用Form里方法,如下:

3、將TextFormField傳給Form容器,如下:

4、實現(xiàn)對應(yīng)TextFormField的校驗規(guī)則 ,如下:

5、最后調(diào)用Form校驗所有表單方法validate,如下:

Android原生和Flutter使用過程的差異對比(二)

1、常用布局的對比

使用下來其他組件大致還算方便,但是相對布局而言使用便利程度上Android原生完勝,ConstraintLayout內(nèi)部的所有子View可以設(shè)置互相之間的位置依賴關(guān)系。

而Flutter的Stack組件內(nèi)部的Children只能通過外層包裹 Align后 固定位置,比如 Alignment.topLeft、Alignment.bottomRight 等。遇到復(fù)雜的堆疊布局需要通過外層包裹 Positioned 組件后設(shè)置固定的 top 和 left 距離以達(dá)到效果,內(nèi)部子組件之間無法設(shè)置位置關(guān)聯(lián)關(guān)系。

2、一些常用屬性設(shè)置上的差異:

Margin外邊距

Android:直接在布局文件對View設(shè)置android:layout_marginStart、android:layout_marginTop

Flutter:需嵌套 Container 組件并在內(nèi)部設(shè)置具體的 margin 值

Padding內(nèi)邊距

Android:TextView、ImageView、各種Layout都可以直接在屬性上設(shè)置android:paddingStart

Flutter:需嵌套 Padding 組件并在內(nèi)部設(shè)置具體的值

組件的可見性

Android:每個view都可以通過setVisibility來設(shè)置可見、隱藏或者隱藏但占位

Flutter:沒有單獨設(shè)置組件是否顯示的api,只能通過 bool 值控制是否添加該組件

事件監(jiān)聽

Android:常規(guī)的setOnClickListener和setOnLongClickListener設(shè)置單擊和長按事件

Flutter:在需要添加事件監(jiān)聽的組件外層嵌套 InkWell 或 GestureDetector 并設(shè)置 onTap 等

3、生命周期

Android:

Activity和Fragment各自有完整的生命周期鏈路onCreate、onStart、onResume、onPause、onDestroy等

Flutter:

萬物皆組件,組件繼承 WidgetsBindingObserver 并重寫 didChangeAppLifecycleState 函數(shù)進(jìn)行監(jiān)聽

退回桌面依次執(zhí)行inactive 》= paused,此時界面不可見用戶不可操作,從桌面重新進(jìn)入app執(zhí)行resumed,狀態(tài)較少如需在某些條件下觸發(fā)特定操作可能要找別的方案,比如發(fā)通知之類的

網(wǎng)站題目:關(guān)于flutter使用的信息
當(dāng)前URL:http://chinadenli.net/article39/dsspgph.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化營銷型網(wǎng)站建設(shè)網(wǎng)站收錄企業(yè)網(wǎng)站制作網(wǎng)站排名企業(yè)建站

廣告

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

成都網(wǎng)頁設(shè)計公司