日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
flutter初學(xué)入門(mén),Flutter入門(mén)

Flutter入門(mén)-Dart面向?qū)ο笤?/h2>

Dart作為高級(jí)語(yǔ)言,支持面向?qū)ο蟮暮芏嗵匦裕⑶抑С只趍ixin的繼承方式,基于mixin的繼承方式是指:一個(gè)類可以繼承自多個(gè)父類,相當(dāng)于其他語(yǔ)言里的多繼承。所有的類都有同一個(gè)基類Object,這和特性類似于Java語(yǔ)言,Java所有的類也都是繼承自O(shè)bject,也就是說(shuō)一切皆對(duì)象。

創(chuàng)新互聯(lián)公司是一家專業(yè)提供霍林郭勒企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、網(wǎng)站設(shè)計(jì)、html5、小程序制作等業(yè)務(wù)。10年已為霍林郭勒眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

Dart 是一門(mén)面向?qū)ο蟮恼Z(yǔ)言, 全部的類都是繼承自 Object , 除了支持傳統(tǒng)的 繼承、封裝、多態(tài) , 還有基于組合(Mixin-based)的繼承特性

類型推導(dǎo)(var/final/const)

var

final和const的區(qū)別

3.非零即真( )

4.字符串

5.集合

Dart中變量初始值為null,即使是int類型也可以是null(java中int默認(rèn)是0, boolean默認(rèn)是false); Dart支持自識(shí)別,可以是用var定義變量,也可以直接指定具體類型; final或者const都可修飾不可變的變量,final變量只能賦值一次,const是編譯時(shí)常量。

int和double是num子類,沒(méi)有float類型; 支持字符串模板,用${expression}的方式來(lái)實(shí)現(xiàn)字符串效果,類似如字符串拼接; String可以使用單引號(hào)或者雙引號(hào); Dart沒(méi)有數(shù)組,只有列表; 其中List,Set,Map不是抽象接口,是具體實(shí)現(xiàn)類,可直接使用; Map的key沒(méi)有指定類型,key類型不一致不會(huì)報(bào)錯(cuò);key不能相同,但是value可以相同,value可以為null。 var name = 'Tom';

方法也是對(duì)象,方法可賦值給一個(gè)變量; 如果方法的參數(shù)是解構(gòu)出來(lái)的可以通過(guò) @required 注解標(biāo)注為必填 const Scrollbar({Key key, @required Widget child}); 支持可選參數(shù),可選命名參數(shù)用{}包圍,可選位置參數(shù)寫(xiě)在最后并且使用[]包圍 String say(String from, String msg, [String device]); 支持默認(rèn)參數(shù) void enableFlags({bool bold = false, bool hidden = false}) {…}; 以_開(kāi)頭的方法都是私有的。 void main() {

支持閉包,閉包能夠訪問(wèn)外部方法內(nèi)部的局部變量

1.空替換?? expr1 ?? expr2,如果expr1是non-null,返回其值。否則執(zhí)行expr2并返回其結(jié)果; 2.條件成員訪問(wèn)?.P?.y = 4; 如果p是non-null,則設(shè)置y的值等于4; 3.類型判定操作符(as,is,is!); 4.級(jí)聯(lián)操作,可以在同一個(gè)對(duì)象上連續(xù)調(diào)用多個(gè)函數(shù)以及訪問(wèn)成員變量;

和java不同的是,Dart可以拋出任意類型的對(duì)象; 程序不會(huì)強(qiáng)制要求開(kāi)發(fā)中處理異常,但若發(fā)生異常,程序會(huì)中斷; 其中異常主要分為Error和Exception兩種類型。

創(chuàng)建對(duì)象可以不使用new關(guān)鍵字; Dart中沒(méi)有public,private,protected這些關(guān)鍵字; 沒(méi)有interfaces關(guān)鍵字,每一個(gè)類都是一個(gè)接口。我們可以用抽象類來(lái)類比java中的接口; Dart把多重繼承的類叫做Mixins。

支持語(yǔ)法糖 Point(this.x, this.y); 每個(gè)實(shí)例變量都會(huì)自動(dòng)生成一個(gè)getter方法,Non-final變量還會(huì)自動(dòng)生成一個(gè)setter; 命名構(gòu)造函數(shù),使用命名構(gòu)造函數(shù)可以為一個(gè)類實(shí)現(xiàn)多個(gè)構(gòu)造函數(shù),也能更加清晰的表明你的意圖;

斷言是如果條件表達(dá)式不滿足則停止代碼執(zhí)行; 斷言只在檢查模式下運(yùn)行有效,如果在生產(chǎn)模式下運(yùn)行則不會(huì)執(zhí)行。

Dart 以兩種模式運(yùn)行: Dart 1.x 有生產(chǎn)模式和檢查模式兩種模式, Dart 2.x 中移除了檢查模式。

注:建議在開(kāi)發(fā)/測(cè)試模式中使用 檢查模式 運(yùn)行 Dart VM ,因?yàn)樗鼤?huì)添加警告和錯(cuò)誤以幫助開(kāi)發(fā)和調(diào)試過(guò)程;選中的模式會(huì)強(qiáng)制執(zhí)行各種檢查,例如類型檢查等。

dart標(biāo)識(shí)符可以包括字符和數(shù)字,但不能以 數(shù)字開(kāi)頭 。

Dart 是一種面向?qū)ο蟮木幊陶Z(yǔ)言。

代碼說(shuō)明:定義了一個(gè)類 TestClass ,這個(gè)類擁有一個(gè)方法 disp() ,方法可以實(shí)現(xiàn)在終端打印字符串 Hello Dart! ,使用 new 關(guān)鍵字創(chuàng)建類的對(duì)象,該對(duì)象調(diào)用方法 disp() 。

關(guān)于dart的學(xué)習(xí)還有很多;我列出如下: Flutter高級(jí)工程師進(jìn)階學(xué)習(xí)資料;需要可以私信我。發(fā)送“核心筆記”或“手冊(cè)”,即可領(lǐng)取資料!

Flutter入門(mén)(3):第一個(gè)flutter程序

運(yùn)行下方命令,如果提示 -bash: flutter: command not found,請(qǐng)檢查 PATH設(shè)置

啟動(dòng)模擬器后,使用以下命令檢測(cè)是否可用。不知道如何啟用模擬器的,可以去查看 模擬器配置方法

提示有可用設(shè)備時(shí),使用以下命令運(yùn)行flutter應(yīng)用

注意 :需要進(jìn)入到flutter應(yīng)用根目錄下,執(zhí)行 flutter run才有效,執(zhí)行成功后如下圖

打開(kāi)testApp/lib/main.dart文件,如圖

在命令行中按照提示輸入 r 刷新模擬器頁(yè)面

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

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

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

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

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

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

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

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

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

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

配合多 child 使用,會(huì)填充剩余的空間

Image 功能強(qiáng)大,使用不同的方法可以加載不同來(lái)源的圖片

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

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

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

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

GridView 沒(méi)有 build , children 表示所有的子 view

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

Flutter基礎(chǔ)篇——常用Widget

對(duì)于初學(xué)flutter的朋友來(lái)說(shuō),要知道,flutter的UI萬(wàn)物皆Widget。

flutter所寫(xiě)的頁(yè)面的結(jié)構(gòu)可以被看成套娃,一層套一層,一層套一層,一層套一層。。。。。。

Flutter Widget采用現(xiàn)代響應(yīng)式框架構(gòu)建,這是從 React 中獲得的靈感,中心思想是用widget構(gòu)建你的UI。 Widget描述了他們的視圖在給定其當(dāng)前配置和狀態(tài)時(shí)應(yīng)該看起來(lái)像什么。當(dāng)widget的狀態(tài)發(fā)生變化時(shí),widget會(huì)重新構(gòu)建UI,F(xiàn)lutter會(huì)對(duì)比前后變化的不同, 以確定底層渲染樹(shù)從一個(gè)狀態(tài)轉(zhuǎn)換到下一個(gè)狀態(tài)所需的最小更改。

Text : 該 widget 可讓創(chuàng)建一個(gè)帶格式的文本。

Row 、 Column : 這些具有彈性空間的布局類Widget可讓您在水平( Row )和垂直( Column )方向上創(chuàng)建靈活的布局。

Stack :取代線性布局 (和Android中的LinearLayout相似),Stack允許子 widget 堆疊, 你可以使用 Positioned 來(lái)定位他們相對(duì)于 Stack 的上下左右四條邊的位置。

Container : Container 可讓您創(chuàng)建矩形視覺(jué)元素。 您可以為 Container 裝飾一個(gè) BoxDecoration , 如 background、一個(gè)邊框、或者一個(gè)陰影。 Container 也可以具有邊距(margins)、填充(padding)和應(yīng)用于其大小的約束(constraints)。另外, Container 可以使用矩陣在三維空間中對(duì)其進(jìn)行變換。

具體的演示見(jiàn)我另外的博客

有一部分Widget都有一個(gè) child 屬性,用于容納唯一的子Widget。

例如:Container、Center、Padding、Align等Widget。

還有一部分Widget允許存在多個(gè)子Widget,用 children 作為屬性。

例如:Row、Column、Stack等Widget。

在StatefulWidget調(diào)用createState之后,框架將新的狀態(tài)插入樹(shù)種,然后調(diào)用狀態(tài)對(duì)象的initState。子類化State可以重寫(xiě)initState,以完成僅需要一次執(zhí)行的工作。當(dāng)然在initState的實(shí)現(xiàn)中需要調(diào)用super.initState

當(dāng)一個(gè)狀態(tài)對(duì)象不再需要時(shí),框架調(diào)用狀態(tài)對(duì)象的dispose。也可以通過(guò)覆蓋dispose方法來(lái)執(zhí)行清理工作。

OVER~

Flutter入門(mén)(二)——實(shí)現(xiàn)一個(gè)簡(jiǎn)單的demo頁(yè)面

首先查看入口函數(shù):

類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è)抽象類,主要定義了圖片數(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。


當(dāng)前標(biāo)題:flutter初學(xué)入門(mén),Flutter入門(mén)
分享路徑:http://www.dlmjj.cn/article/hoijcg.html