Skip to content

Commit d8112be

Browse files
author
yangshangzhi
committed
Merge branch 'ysz' into test
2 parents 652d015 + 8381b00 commit d8112be

File tree

8 files changed

+171
-12
lines changed

8 files changed

+171
-12
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
## **GridView**
2+
3+
>
4+
Scrollable是一个可滚动的组件,ListView、GridView都会间接使用到该组件。
5+
6+
### 构造方法
7+
```
8+
Scrollable({
9+
Key key,
10+
AxisDirection axisDirection: AxisDirection.down,
11+
ScrollController controller,
12+
ScrollPhysics physics,
13+
@required ViewportBuilder viewportBuilder,
14+
bool excludeFromSemantics: false,
15+
int semanticChildCount,
16+
DragStartBehavior dragStartBehavior: DragStartBehavior.down
17+
})
18+
```

flutter-ui

Lines changed: 0 additions & 1 deletion
This file was deleted.

lib/page/mine/index.dart

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,22 @@ import 'package:flutter/material.dart';
22

33
class Index extends StatelessWidget {
44
final dynamic model;
5-
Index({Key key, this.model}):super(key: key);
5+
Index({Key key, this.model}) : super(key: key);
66

77
@override
8-
Widget build (BuildContext context) {
8+
Widget build(BuildContext context) {
99
return Container(
10-
child: Center(
11-
child: RaisedButton(
12-
child: Text('当前为${model.config.state.isPro ? '线上' : '线下'}环境,点击进行切换'),
13-
onPressed: () {
14-
model.dispatch('config', 'setEnv');
15-
},
16-
),
10+
child: Row(
11+
children: [
12+
RaisedButton(
13+
child:
14+
Text('当前为${model.config.state.isPro ? '线上' : '线下'}环境,点击进行切换'),
15+
onPressed: () {
16+
model.dispatch('config', 'setEnv');
17+
},
18+
),
19+
],
1720
),
1821
);
1922
}
20-
}
23+
}

lib/widget/scrollview/index.dart

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'package:efox_flutter/store/objects/widget_info.dart';
22
import 'gridview/index.dart' as gridview;
33
import 'listview/index.dart' as listview;
4+
import 'scrollable/index.dart' as scrollable;
45

56
const nameSpaces = '/scrollview_';
67

@@ -14,14 +15,19 @@ List widgets = [
1415
widget: listview.Index(),
1516
code: 59631, // view_list
1617
title: listview.Index.title,
18+
),
19+
ItemInfo(
20+
widget: scrollable.Index(),
21+
code: 59631, // view_list
22+
title: scrollable.Index.title,
1723
)
1824
];
1925

2026
List widgetMap = [
2127
ItemListInfo(
2228
nameSpaces: nameSpaces,
2329
widgetList: widgets,
24-
typeName: 'ScrollView',
30+
typeName: 'ScrollComponents',
2531
code: 58353,
2632
)
2733
];
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import 'package:flutter/material.dart';
2+
3+
class Index extends StatefulWidget {
4+
@override
5+
State<StatefulWidget> createState() => _IndexState();
6+
}
7+
8+
class _IndexState extends State<Index> {
9+
@override
10+
void initState() {
11+
super.initState();
12+
}
13+
14+
@override
15+
Widget build(BuildContext context) {
16+
return Scaffold(
17+
body: Scrollable(
18+
viewportBuilder: (context, offset) {
19+
return Scrollable(
20+
axisDirection: AxisDirection.right,
21+
viewportBuilder: (context, offset) {
22+
return SingleChildScrollView(
23+
child: Column(
24+
mainAxisSize: MainAxisSize.max,
25+
children: List.generate(20, (index) {
26+
return RaisedButton(
27+
child: Text('index $index'),
28+
onPressed: () {
29+
print('$offset');
30+
},
31+
);
32+
}),
33+
),
34+
);
35+
},
36+
);
37+
},
38+
),
39+
);
40+
}
41+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import 'package:flutter/material.dart';
2+
3+
class Index extends StatefulWidget {
4+
@override
5+
State<StatefulWidget> createState() => _IndexState();
6+
}
7+
8+
class _IndexState extends State<Index> {
9+
@override
10+
void initState() {
11+
super.initState();
12+
}
13+
14+
@override
15+
Widget build(BuildContext context) {
16+
return Scrollable(
17+
axisDirection: AxisDirection.left,
18+
controller: ScrollController(),
19+
viewportBuilder: (context, offset) {
20+
return CustomScrollView(
21+
slivers: [
22+
SliverAppBar(
23+
pinned: true,
24+
expandedHeight: 250.0,
25+
flexibleSpace: FlexibleSpaceBar(
26+
title: Text('这里的标题会随着滚动向移'),
27+
),
28+
),
29+
SliverGrid(
30+
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
31+
maxCrossAxisExtent: 200.0,
32+
mainAxisSpacing: 10.0,
33+
crossAxisSpacing: 10.0,
34+
childAspectRatio: 4.0,
35+
),
36+
delegate: SliverChildBuilderDelegate(
37+
(BuildContext context, int index) {
38+
return Container(
39+
alignment: Alignment.center,
40+
color: Colors.teal[100 * (index % 9)],
41+
child: Text('grid item $index'),
42+
);
43+
},
44+
childCount: 20,
45+
),
46+
),
47+
SliverFixedExtentList(
48+
itemExtent: 50.0,
49+
delegate: SliverChildBuilderDelegate(
50+
(BuildContext context, int index) {
51+
return Container(
52+
alignment: Alignment.center,
53+
color: Colors.lightBlue[100 * (index % 9)],
54+
child: Text('list item $index'),
55+
);
56+
},
57+
childCount: 20
58+
),
59+
),
60+
],
61+
);
62+
},
63+
);
64+
}
65+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:efox_flutter/components/widgetComp.dart' as WidgetComp;
3+
import 'demo.dart' as Demo;
4+
5+
class Index extends StatefulWidget {
6+
static String title = 'Scrollable';
7+
static String mdUrl = 'docs/widget/scrollview/scrollable/index.md';
8+
static String originCodeUrl = 'https://docs.flutter.io/flutter/widgets/Scrollable-class.html';
9+
10+
@override
11+
_IndexState createState() => new _IndexState();
12+
}
13+
14+
class _IndexState extends State<Index> {
15+
@override
16+
Widget build(BuildContext context) {
17+
return WidgetComp.Index(
18+
title: Index.title,
19+
originCodeUrl: Index.originCodeUrl,
20+
mdUrl: Index.mdUrl,
21+
demoChild: [
22+
Demo.Index(),
23+
]
24+
);
25+
}
26+
}

pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ flutter:
5757
assets:
5858
- locale/
5959
- docs/widget/scrollview/gridview/
60+
- docs/widget/scrollview/scrollable/
6061
- docs/widget/regular/row/
6162
- docs/widget/regular/column/
6263
- docs/widget/regular/container/

0 commit comments

Comments
 (0)