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

flutter水平菜單,flutter 菜單

Flutter(二)StatefulWidget基礎(chǔ)組件

MaterialApp 是我們app開發(fā)中常用的符合MaterialApp Design設(shè)計(jì)理念的入口Widget。MaterialApp這個組件里面的參數(shù)比較多,而且一般在應(yīng)用入口會用到,所以這里把它內(nèi)部的所有參數(shù)都列出來了

成都創(chuàng)新互聯(lián)公司是專業(yè)的定海網(wǎng)站建設(shè)公司,定海接單;提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行定海網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

基本用法:

可以看到我們在 App 的最外層直接使用了 MaterialApp ,可以指定App的名稱( title ),App的主題樣式( theme ),首頁的組件( home ),路由跳轉(zhuǎn)配置)( routes ),關(guān)于路由跳轉(zhuǎn)我們在后面的章節(jié)中會介紹

Scaffold 實(shí)現(xiàn)了基本的 Material Design 布局結(jié)構(gòu), Scaffold 在英文中的解釋為角手架,我們可以理解為樓體中的鋼架結(jié)構(gòu),通過它可以構(gòu)建一個頁面

在Flutter應(yīng)用開發(fā)中,我們可以將 Scaffold 理解為一個布局的容器。可以在這個容器中繪制我們的用戶界面

下面是 MaterialApp + Scaffold 的組合的基本用法

AppBar 就是頂部的導(dǎo)航欄組件,支持自定義標(biāo)題,左右兩側(cè)的工具欄按鈕等

BottomNavigationBar 是底部的菜單欄組件

使用方法:

一般我們會定義一個全局變量如 _currentIndex 用于記錄當(dāng)前選中的下標(biāo)。然后在 onTap 屬性的回調(diào)方法中調(diào)用

setState(() { _currentIndex = index;}); 更新 _currentIndex 就可以實(shí)現(xiàn)底部菜單的切換。 BottomNavigationBar 一般會配合 BottomNavigationBarItem 一起使用(如下所示)

RefreshIndicator 是Flutter中的下拉刷新組件,一般配合 ListView 組件一起使用

Image 就類似于android中的 ImageView ,可以自定義圖片顯示的寬高

從網(wǎng)絡(luò)中加載圖片

從本地(File文件)加載圖片

從本地資源加載圖片

可以將byte數(shù)組加載成圖片

TextField 就類似于android的 EditText

PageView 就類似于android中的 ViewPager

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

對于初學(xué)flutter的朋友來說,要知道,flutter的UI萬物皆Widget。

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

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

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

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

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

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

具體的演示見我另外的博客

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

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

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

例如:Row、Column、Stack等Widget。

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

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

OVER~

Flutter 22: 圖解 PopupMenu 那些事兒

小菜需要處理標(biāo)題欄彈出對話框 PopupMenu 樣式, Flutter 當(dāng)然提供了一些處理方式,類似 PopupMenuEntry 等,小菜僅就最基礎(chǔ)的使用方式進(jìn)行初步的學(xué)習(xí)和整理。

PopupMenuItem 為單個 item 的彈出樣式,默認(rèn)為 48px 高,可根據(jù)需求自行定義。 item 中可以自定義需要的樣式,包括文字圖片等一系列樣式。

Tips: 若需要處理帶圖標(biāo)的樣式時,官網(wǎng)提供的 Demo 是借助的 ListTile 來處理的,但是小菜測試發(fā)現(xiàn)圖標(biāo)與文字距離偏大,原因在于 ListTile 默認(rèn)左側(cè)圖標(biāo) leading 距離不可直接調(diào)整,建議用 Row 或其他方式調(diào)整。

CheckedPopupMenuItem 是一個帶有復(fù)選標(biāo)記的彈出菜單項(xiàng)。默認(rèn)高度同樣是 48px ,水平布局使用 ListTile 復(fù)選標(biāo)記是 Icons.done 圖標(biāo),顯示在 leading 位置;同時只有在狀態(tài)為選中時才會顯示圖標(biāo)。

PopupMenuDivider 是一條水平分割線,注意數(shù)組要使用父類 PopupMenuEntry ,配合其他 item 樣式共同使用。 PopupMenuDivider 可以調(diào)整高度,但無法調(diào)整顏色,有需要的話可以進(jìn)行自定義。

PopupMenu 默認(rèn)的彈框位置都是在右上角,且會擋住標(biāo)題欄,如果有需要在其他位置彈框就需要借助 showMenu ,主要通過 position 屬性定位彈框位置。

menu 的寬高與內(nèi)容相關(guān),小菜的理解是在水平和豎直方向上會將設(shè)置的 position 位置加上 menu 寬高,再與屏幕匹配,超過屏幕寬高,根據(jù) position 按照 LTRB 順序貼近屏幕邊框展示。

Tips: 如果 item 個數(shù)過多也無需擔(dān)心,F(xiàn)lutter 支持默認(rèn)超過屏幕滑動效果。

小菜目前的學(xué)習(xí)還僅限于基本的使用,稍高級的自定義涉及較少,如果又不對的地方還希望多多指出。

分享題目:flutter水平菜單,flutter 菜單
分享URL:http://chinadenli.net/article36/dsgdisg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站品牌網(wǎng)站制作定制開發(fā)云服務(wù)器品牌網(wǎng)站設(shè)計(jì)網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)