Files
ryan730 c0d90db596 Merge branch 'develop' into dev/yisheng
# Conflicts:
#	lib/widgets/components/Bar/AppBar/index.dart
#	lib/widgets/components/Bar/BottomAppBar/demo.dart
#	lib/widgets/components/Bar/BottomAppBar/index.dart
#	lib/widgets/components/Bar/ButtonBar/index.dart
#	lib/widgets/components/Bar/FlexibleSpaceBar/index.dart
#	lib/widgets/components/Bar/SliverAppBar/index.dart
#	lib/widgets/components/Bar/SnackBar/index.dart
#	lib/widgets/components/Bar/SnackBarAction/index.dart
#	lib/widgets/components/Card/Card/index.dart
#	lib/widgets/components/LIst/ListBody/index.dart
#	lib/widgets/components/LIst/ListView/index.dart
#	lib/widgets/elements/Form/Button/DropdownButton/index.dart
#	lib/widgets/elements/Form/Button/FlatButton/index.dart
#	lib/widgets/elements/Form/Button/PopupMenuButton/index.dart
#	lib/widgets/elements/Form/CheckBox/Checkbox/index.dart
#	lib/widgets/elements/Form/CheckBox/CheckboxListTile/index.dart
#	lib/widgets/elements/Frame/Axis/crossAxis/index.dart
#	lib/widgets/elements/Frame/Axis/flipAxis/index.dart
#	lib/widgets/elements/Frame/Axis/mainAxis/index.dart
#	lib/widgets/elements/Media/Image/precacheImage/index.dart
2019-01-12 17:30:11 +08:00

140 lines
4.6 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Created with Android Studio.
* User: ryan
* Date: 2018/12/31
* Time: 下午2:27
* email: zhu.yan@alibaba-inc.com
* tartget: ListView 的示例
*/
import 'package:flutter/material.dart';
/*
* ListView 默认ListView的实例
* */
class ListViewFullDefault extends StatefulWidget {
const ListViewFullDefault() : super();
@override
State<StatefulWidget> createState() => _ListViewFullDefault();
}
/*
* ListView 默认的实例,有状态
* */
class _ListViewFullDefault extends State {
@override
Widget build(BuildContext context) {
return ListView(
);
}
}
/*
* ListView 默认的实例,无状态
* */
class ListViewLessDefault extends StatelessWidget {
final widget;
final parent;
final index;
const ListViewLessDefault([this.index, this.widget, this.parent,])
: super();
@override
Widget build(BuildContext context) {
switch(index){
case 0:
return ListView(
shrinkWrap: true,
padding: EdgeInsets.all(20.0),
children: <Widget>[
Text('I\'m dedicating every day to you'),
ListTile(
leading: Icon(Icons.map),
title: Text('Maps'),
),
Text('Domestic life was never quite my style'),
ListTile(
leading: Icon(Icons.photo_album),
title: Text('Album'),
),
Text('When you smile, you knock me out, I fall apart'),
ListTile(
leading: Icon(Icons.phone),
title: Text('Phone'),
),
Text('And I thought I was so smart'),
],
);
break;
case 1:
return SizedBox(
height: 300.0,
child: ListView.builder(
scrollDirection: Axis.vertical,
itemCount: 10, // item 的个数
itemExtent: 50.0, // 如果为非null则强制子项在滚动方向上具有给定范围
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text("title $index"), // item 标题
leading: Icon(Icons.keyboard), // item 前置图标
subtitle: Text("subtitle $index"), // item 副标题
trailing: Icon(Icons.keyboard_arrow_right),// item 后置图标
isThreeLine:false, // item 是否三行显示
dense:true, // item 直观感受是整体大小
contentPadding: EdgeInsets.all(10.0),// item 内容内边距
enabled:true,
onTap:(){print('点击:$index');},// item onTap 点击事件
onLongPress:(){print('长按:$index');},// item onLongPress 长按事件
selected:false, // item 是否选中状态
);
},
),
);
break;
case 2:
return SizedBox(
height: 300.0,
child: ListView.separated(
scrollDirection: Axis.vertical,
itemCount: 100, // item 的个数
separatorBuilder: (BuildContext context, int index) => Divider(height:1.0,color: Colors.blue), // 添加分割线
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text("title $index"), // item 标题
leading: Icon(Icons.keyboard), // item 前置图标
subtitle: Text("subtitle $index"), // item 副标题
trailing: Icon(Icons.keyboard_arrow_right),// item 后置图标
isThreeLine:false, // item 是否三行显示
dense:true, // item 直观感受是整体大小
contentPadding: EdgeInsets.all(10.0),// item 内容内边距
enabled:true,
onTap:(){print('点击:$index');},// item onTap 点击事件
onLongPress:(){print('长按:$index');},// item onLongPress 长按事件
selected:false, // item 是否选中状态
);
},
),
);
break;
case 3:
return SizedBox(
height: 300.0,
child: ListView.custom(
scrollDirection: Axis.vertical,
childrenDelegate:SliverChildBuilderDelegate((BuildContext context, int index) {
return Container(
height: 50.0,
alignment: Alignment.center,
color: Colors.lightBlue[100 * (index % 9)],
child: Text('list item $index'),
);
}, childCount: 10),
),
);
break;
}
}
}