要實(shí)現(xiàn)上面的效果,每個(gè)種類的標(biāo)簽橫向滾動(dòng),實(shí)現(xiàn)的方式,最外層的大分類標(biāo)簽一個(gè)ListView,每個(gè)分類的標(biāo)簽也是ListView 設(shè)置橫向滾動(dòng)結(jié)合Wrap組件就能實(shí)現(xiàn)。
創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè)|網(wǎng)站建設(shè)維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋iso認(rèn)證等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身開發(fā)品質(zhì)網(wǎng)站。
在編寫幾個(gè) Flutter 項(xiàng)目后,發(fā)現(xiàn) Flutter 的強(qiáng)大之處在于業(yè)務(wù)中所有用到的控件以及場(chǎng)景都有對(duì)應(yīng)的處理方案;而 Dart 語(yǔ)言也與 Java 、 Kotlin 類似,所以對(duì) Android 開發(fā)者來說門檻非常低;特意記錄一下常用的控件及其使用:
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)大,使用不同的方法可以加載不同來源的圖片
看到這些方法,突然覺得 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 ,在里面的方法中編寫 widget 即可
與 ListView 類似,但是需要有一個(gè) delegate 類,作用是設(shè)置有多少列,每一列之間的間距是多少
GridView 沒有 build , children 表示所有的子 view
最常用的控件之一,有非常多的樣式, Flutter 中通常是使用裝飾器來處理控件的,如背景使用 BoxDecoration , TextFiled 使用 InputDecoration ; 使用如下
在開發(fā)中,文本是我們最常接觸的控件。這篇博客來分享一下 Flutter 中的 Text 文本組件,我們展示的文本都可以用這個(gè)組件來展示,希望看文章的小伙伴有所幫助。
這樣我們就可以在界面當(dāng)中顯示一個(gè)文本,顯示是 Hello Flutter 。下面我們來說說 Text 組件的屬性:
設(shè)置文本顏色:
設(shè)置文本大小:
設(shè)置文本樣式-加粗:
設(shè)置文本樣式-斜體:
設(shè)置文本位置:
TextAlign可選屬性: center 、 end 、 start 、 justify 、 left 、 right 。
設(shè)置文本高度:
設(shè)置文本最大行數(shù):
設(shè)置文本有下劃線:
設(shè)置文本有虛線類型下劃線:
設(shè)置文字間隔:
文本超過最大行數(shù)設(shè)置 ... :
實(shí)例中有3個(gè)Tab標(biāo)簽Home, School,Self;在School頁(yè)面添加功能跳轉(zhuǎn)到Home.
需要注意的地方:
沒有的話再次設(shè)置selectedIndex不會(huì)刷新UI,是一個(gè)比較特殊的地方.
流式布局(Liquid)的特點(diǎn)(也叫"Fluid") 是頁(yè)面元素的寬度按照屏幕分辨率進(jìn)行適配調(diào)整,但整體布局不變。柵欄系統(tǒng)(網(wǎng)格系統(tǒng)),用戶標(biāo)簽等。在Flutter中主要有Wrap和Flow兩種Widget實(shí)現(xiàn)。
在介紹Row和Colum時(shí),如果子widget超出屏幕范圍,則會(huì)報(bào)溢出錯(cuò)誤,在Flutter中通過Wrap和Flow來支持流式布局,溢出部分則會(huì)自動(dòng)折行。
上述有很多屬性和Row的相同,其意義其實(shí)也是相同的,這里我就不一一介紹了,主要介紹下不同的屬性:
我們一般很少會(huì)使用Flow,因?yàn)槠溥^于復(fù)雜,需要自己實(shí)現(xiàn)子widget的位置轉(zhuǎn)換,在很多場(chǎng)景下首先要考慮的是Wrap是否滿足需求。Flow主要用于一些需要自定義布局策略或性能要求較高(如動(dòng)畫中)的場(chǎng)景。Flow有如下優(yōu)點(diǎn):
我們對(duì)六個(gè)色塊進(jìn)行自定義流式布局:
實(shí)現(xiàn)TestFlowDelegate:
可以看到我們主要的任務(wù)就是實(shí)現(xiàn)paintChildren,它的主要任務(wù)是確定每個(gè)子widget位置。由于Flow不能自適應(yīng)子widget的大小,我們通過在getSize返回一個(gè)固定大小來指定Flow的大小,實(shí)現(xiàn)起來還是比較麻煩的。
本文標(biāo)題:關(guān)于flutter標(biāo)簽樣式的信息
文章來源:http://vcdvsql.cn/article0/dsdehoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、網(wǎng)站導(dǎo)航、企業(yè)網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)公司、Google、建站公司
聲明:本網(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)