列表组件(ListView)
列表在前端是最常见的需求。在Flutter中,⽤ListView来显⽰列表项,⽀持垂直和⽔平⽅向展⽰,通过⼀个属性我们就可以控制其⽅向,列表有以下分类:
⽔平的列表
垂直的列表
数据量⾮常⼤的列表
矩阵式的列表
常⽤属性如下:
属性名类型默认值说明
scrollDirection Axis Axis.vertical 列表的排列⽅向,Axis.vertical为垂直⽅向,是默认值,Axis.horizontal为⽔平⽅向
padding EdgeInsetsGeometry列表内部的空⽩区域,如果有child的话,child位于padding内部
reverse bool false组件排列反向
children List<Widget>列表元素,注意List元素全部为Widget类型
ListView ListTile
ListTile 是Flutter 给我们准备好的widget 提供⾮常常见的构造和定义⽅式,包括⽂字,icon,点击事件,⼀般是能够满⾜基本需求,但是就不能⾃⼰定义了
ListTile 属性
this.leading, // item 前置图标
this.title, // item 标题
this.subtitle, // item 副标题
this.isThreeLine = false, // item 是否三⾏显⽰
this.dense, // item 直观感受是整体⼤⼩
this.selected = false, // item 是否选中状态
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(
home: MyApp(),
));
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('滚动布局⽰例'),
),
body: ListView(
children: <Widget>[
ListTile(
title: Text(
'⼴州市河区公园',
style: TextStyle(fontWeight: FontWeight.w400, fontSize: 18.0),
),
subtitle: Text('⼴州市河区公园'),
leading: Icon(
Icons.landscape,
color: ,
),
),
Center(
child: Text(
'\n⼴州天河区公园',
style: TextStyle(fontSize: 30.0),
),
),
Center(
child: Text(
'天河公园',
style: TextStyle(fontSize: 16.0),
),
),
Center(
child: Container(
margin: const EdgeInsets.all(10.0),
fontweight默认值child: Text(
'''天河公园,是区属综合性公园,位于⼴州天河区员村,西靠天府路,南连黄埔⼤道,北接中⼭⼤道,来往交通⼗分便利。公园总⾯积70.7公顷,⽔体⾯积占 style: TextStyle(fontSize: 14.0),
),
),
),
],
),
);
}
}
注:在长⽂本的场景,需要使⽤'''三个引号来表⽰。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论