flutter 滑動控制項詳解

2021-10-20 02:38:53 字數 1937 閱讀 5394

flutter 滑動控制項詳解

flutter中實現滑動的控制項有三個分別是 listview、gridview、customscrollview

三個的關係

即 listview、gridview、customscrollview都是基於scrollview開發的。

listview 共有4個建構函式 listview()、listview.builder()、listview.separated()、listview.custom()

預設建構函式方式(主要用來顯示固定數量的item)

/// 預設建構函式方式,用來顯示固定數量item

listview(

padding: const edgeinsets.all(8),

children: [

container(

height: 50,

color: colors.amber[600],

child: const center(child: text('entry a')),

),container(

height: 50,

color: colors.amber[500],

child: const center(child: text('entry b')),

),container(

height: 50,

color: colors.amber[100],

child: const center(child: text('entry c')),

),],

)

builder方式(可以用來顯示無限個item,可以一直滑動直到item的最後乙個)

final listentries = ['a', 'b', 'c'];

final listcolorcodes = [600, 500, 100];

listview.builder(

padding: const edgeinsets.all(8),

itemcount: entries.length,

itembuilder: (buildcontext context, int index) ')),);}

);

separated方式(和builder方式特性是一樣的,只不過可以通過listview直接給item之間設定分割線)

final listentries = ['a', 'b', 'c'];

final listcolorcodes = [600, 500, 100];

listview.separated(

padding: const edgeinsets.all(8),

itemcount: entries.length,

itembuilder: (buildcontext context, int index) ')),

);},

separatorbuilder: (buildcontext context, int index) => const divider(),

);

custom 方式(需要實現childrendelegate和childcount方法),通過sliverchildbuilderdelegate來建立item,通過childcount來設定item的個數

listview.custom(

childrendelegate: sliverchildbuilderdelegate(

(buildcontext context, int index) ,

childcount: items.length,

findchildindexcallback: (key key) ),

),

Flutter控制項 Container

container 乙個方便的 widget,它組合了常見的繪畫 定位和大小的 widget,在flutter中非常常見。顏色,邊框,填充形狀,陰影,漸變色,背景。container 首先會使用 padding 來圍繞在 child 周圍 也包括 decoration 中存在的邊框 新增額外的約束限...

flutter之Align控制項

align控制項即對齊控制項,能將子控制項所指定方式對齊,並根據子控制項的大小調整自己的大小。對齊子控制項的方式 bottomcenter 0.5,1.0 底部中心 bottomleft 0.0,1.0 左下角 bottomright 1.0,1.0 右下角 center 0.5,0.5 水平垂直居...

flutter控制項之CheckBox

import package flutter material.dart class learncheckbox extends statefulwidget class learncheckbox extends state newcenter child newcheckboxlisttile ...