肆、Standard widgets
三、ListView
類似於Column的延伸,當大小超過顯示範圍時可提供自動滾動效果
ListView特性
相比起Column,使用彈性較低,但是針對滾動的效果較好
可以水平或是垂直地放置
當大小超過顯示範圍,即提供滾動效果
ListView使用範例
1 | import 'package:flutter/material.dart'; |
ListView使用範例
- 輸出結果
可以看到因為項目尚未顯示完,出現滾動條

debugPaintSizeEnabled虛擬網格檢視
我們在設計Layout時,也可以透過匯入import ‘package:flutter/rendering.dart’ show debugPaintSizeEnabled;來幫助我們檢視目前的佈局設計
以剛剛的ListView程式碼為例,我們可以將debugPaintSizeEnabled設為true,來取得虛擬網格

再度執行後,可以發現在原本的佈局上,出現了虛擬的格線與元件行進方向,幫助我們設計與規劃

四、Stack
Stack 是一種控製佈局的元件,用於將子元件疊放在一起,類似於堆疊卡片或圖層。
Stack 特性
允許在同一位置顯示多個子控件,這些子控件可以重疊或按照特定的順序堆疊
Stack內容無法滾動
Stack 组件允许您使用 clip 屬性来控制是否要剪切超出 Stack 渲染框的子元素
Stack 使用範例
我們使用Stack元件,內含一個CircleAvatar,用於製作圓形頭像、一個Cotainer與Text,用於製作名稱標示
1 | import 'package:flutter/material.dart'; |
Stack 使用範例
- 輸出結果

伍、Material widgets
Card
Card 是一個Material Design風格、用於顯示訊息的卡片佈局的元件。 Card 提供了圓角、邊框和陰影效果,使其看起來具有3D效果。這使得 Card 在創建各種信息、卡片列表、資料展示等方面非常有用。
Cart特性
可以使用SizedBox來限制卡片的大小。
一個 Card 可以包含一個單一的子元件,這個子元件可以是包含多個小元件的容器,例如行(Row)、列(Column)或列表(List)。
具有圓角邊框和陰影,使其具有3D外觀。
Card 的內容不能滾動。
Cart使用範例
1 | import 'package:flutter/material.dart'; |
- 輸出結果

ListTile
ListTile 是一個Material Design風格、用於創建列表項目的元件,它通常用於顯示一個項目的相關信息,包括文本、icon與其他的互動元素。
ListTile特性
是一種特殊的行佈局小部件,可以容納多達三行文本和icon。
相比row而言,可使用的配置屬性選項較少,但更容易建造。
常與 Card 和 ListView元件配合使用。
ListTile使用範例
以下範例展示了多種不同的Listile型態
1 | import 'package:flutter/material.dart'; |
- 輸出結果
