1. 程式人生 > >flutter中常見的類

flutter中常見的類

flutter中常見的類

佈局類

Text (文字)

屬性
{ data }:(String)
顯示的文字

maxLines:(int)
文字顯示的最大行數,可配合overflow使用 (相當於line-clamp)

overflow: (TextOverflow)
文字溢位處理

TextOverflow.clip
不顯示後面文字

TextOverflow.ellipsis 省略號表示

TextOverflow.fade
最後一行文字下方會有漸變隱藏效果

style:(TextStyle)
文字的樣式,封裝在TextStyle類中,包含color, fontSize,fontStyle等。

textAlign:(TextAlign)
文字如何排列,有TextAlign.center, TextAlign.end等

textScaleFactor:(double)
文字縮放比例,預設大小1.0

textSpan:(TextSpan)
和TextSpan控制元件一樣,屬於富文字元素,如果有值,則該值為空

Container (容器)

類似於div,用於約束內部的控制元件

屬性
child:(Widget)
被約束的子元素

alignment:(Alignment)
內部的對齊方式,例如:Alignment.center、Alignment.bottomRight等

margin、padding:(EdgeInsets)
佈局屬性

decoration:(BoxDecoration)(有這個屬性就不能存在color屬性,可以在內部定義color)
元素裝飾器,例如:image(背景圖片)、border、borderRadius( 例如值為BorderRadius.all(Radius.circular(10)) )、boxShadow、gradient(漸變色,會取代boxShadow.color)等

foregroundDecoration:(BoxDecoration)
在子元素前的裝飾元素,類似於::before

Row、Column (橫向或縱向排列)

(有限的空間)

Row:在父控制元件中水平排列

Column:在父控制元件中縱向排列

屬性
children:list(Widget)
排列的子元素集合

mainAxisAlignment:(MainAxisAlignment)
子元素在主軸方向排列

Row: X軸

Column: Y軸

crossAxisAlignment:(CrossAxisAlignment)

子元素在垂直軸方向排列

Row: Y軸

Column: X軸

TextDirection:(TextDirection)
子元素的X軸的配列順序(好像只對Row有效,從左至右或從右至左)

TextDirection:(TextDirection)
子元素的Y軸的配列順序發生變化,並且整個內容也會在頂部或底部(好像只對Cloumn有效)

mainAxisSize:(MainAxisSize)
容器在主軸的佔用空間(
max: 佔用最大,能撐起容器
min:佔用最小,能撐起內容))

Expanded (根據內容自動收縮)

可以在Row、Column或Flex的繼承類中使用,可以使元素充分填充可用的空間,防止內容溢位。

child: (Widget)
內容控制元件

flex:(int)
如果為非0,則表示該元素是flex父級控制元件元素的幾份。

SizedBox (佔位元素)

可以定義個寬高的佔位元素

height、width:(double)
元素的高寬,如果是空則為child元素的高寬

child: (Widget)
內部的元素,可以為空

Image (存放圖片控制元件)

圖片控制元件

構造方法

構造方法 含義 ImageProvider
Image 基本建構函式
Image.asset 本地圖片的路徑 定義了scale -> ExactAssetImage
沒定義scale -> AssetImage
Image.file 使用檔案File圖片 FileImage
Image.memory 從快取中讀取資料 MemoryImage
Image.network 載入網路圖片 NetworkImage

ImageProvider用來標識定點陣圖片,監聽圖片流獲取資源。支援絕大部分圖片格式。

屬性
alignment:(AlignmentGeometry)
定義圖片的對齊方式,僅在圖片大小不等於父容器的大小情況下有效

color: (Color)
圖片的覆蓋顏色

fit: (BoxFit)

方法 圖片
BoxFit.contain(預設) 基本建構函式
BoxFit.cover 本地圖片的路徑
BoxFit.fill 使用檔案File圖片
BoxFit.fitHeight 從快取中讀取資料
BoxFit.fitWidth 載入網路圖片
BoxFit.none 載入網路圖片
BoxFit.scaleDown 載入網路圖片

gaplessPlayback: (bool)
當圖片地址改變的時候是否重新載入圖片,在圖片是個變數的時候需要用到

repeat: (ImageRepeat)
在父容器中剩餘空間中重複顯示的方式

(讀取圖片)

RaisedButton (按鈕)

FlatButton (右下角按鈕)

TextField (輸入框)

RotatedBox (提供旋轉的容器)

Switch (開關)

Icon (圖示)

ListView (列表)

showDialog (彈框)

Form (表單)

TextFormField (表單中的組合輸入框)

Flex ( 橫向排列 )

GridView ( 組合排列 )

RefreshIndicator (重新整理控制元件)