Skip to content

Commit 24f1300

Browse files
committed
菜单卡片
1 parent 3ed25b7 commit 24f1300

File tree

4 files changed

+37
-29
lines changed

4 files changed

+37
-29
lines changed

Diff for: lib/pages/user/user_detail_page.dart

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import 'package:bruno/bruno.dart';
66
import 'package:flutter/material.dart';
77
import 'package:flutter_svg/flutter_svg.dart';
88
import 'package:icoffee/widgets/gf_action_tile.dart';
9+
import 'package:icoffee/widgets/gf_menu_card.dart';
910

1011
/// "我-编辑资料"页
1112
class UserDetailPage extends StatefulWidget {
@@ -65,7 +66,7 @@ class _UserDetailPageState extends State<UserDetailPage> {
6566
),
6667
),
6768
),
68-
GFActionCard(
69+
GFMenuCard(
6970
children: [
7071
BrnTextInputFormItem(
7172
title: "昵称",

Diff for: lib/pages/user/user_page.dart

+3-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import 'package:go_router/go_router.dart';
88
import 'package:icoffee/app_routes.dart';
99
import 'package:icoffee/constants/app_colors.dart';
1010
import 'package:icoffee/widgets/gf_action_tile.dart';
11+
import 'package:icoffee/widgets/gf_menu_card.dart';
1112

1213
/// "我"页
1314
class UserPage extends StatefulWidget {
@@ -92,7 +93,7 @@ class _UserPageState extends State<UserPage> {
9293
Widget _vipRow() {
9394
return Column(
9495
children: [
95-
GFActionCard(
96+
GFMenuCard(
9697
children: [
9798
GFActionTile(
9899
title: "我的会员",
@@ -112,7 +113,7 @@ class _UserPageState extends State<UserPage> {
112113
Widget _toolsRow() {
113114
return Column(
114115
children: [
115-
GFActionCard(
116+
GFMenuCard(
116117
children: [
117118
GFActionTile(
118119
title: "智能电子秤",

Diff for: lib/widgets/gf_action_tile.dart

+1-26
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,8 @@
22
// [Author] lg (https://github.com/lemos1235)
33
// [Date] 2022/10/4
44
//
5-
import 'package:collection/collection.dart';
65
import 'package:flutter/material.dart';
76

8-
class GFActionCard extends StatelessWidget {
9-
const GFActionCard({super.key, required this.children});
10-
11-
final List<Widget> children;
12-
13-
@override
14-
Widget build(BuildContext context) {
15-
List<Widget> widgets = [];
16-
children.forEachIndexed((index, element) {
17-
if (index != 0 && index != children.length) {
18-
widgets.add(
19-
Divider(indent: 12, endIndent: 12, height: 1, color: Color(0xFFECECEC)),
20-
);
21-
}
22-
widgets.add(element);
23-
});
24-
return Container(
25-
child: Column(
26-
children: widgets,
27-
),
28-
);
29-
}
30-
}
31-
327
class GFActionTile extends StatelessWidget {
338
const GFActionTile({super.key, required this.title, this.onTap, this.trailingText});
349

@@ -53,7 +28,7 @@ class GFActionTile extends StatelessWidget {
5328
Widget _rowWidget(BuildContext context) {
5429
return Container(
5530
color: Colors.white,
56-
padding: EdgeInsets.only(left: 18, right: 23, top: 18, bottom: 18),
31+
padding: EdgeInsets.only(left: 20, right: 20, top: 14, bottom: 14),
5732
child: Row(
5833
mainAxisSize: MainAxisSize.min,
5934
crossAxisAlignment: CrossAxisAlignment.center,

Diff for: lib/widgets/gf_menu_card.dart

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
//
2+
// [Author] lg (https://github.com/lemos1235)
3+
// [Date] 10/8/2022
4+
//
5+
import 'package:flutter/material.dart';
6+
7+
class GFMenuCard extends StatelessWidget {
8+
const GFMenuCard({super.key, required this.children});
9+
10+
final List<Widget> children;
11+
12+
@override
13+
Widget build(BuildContext context) {
14+
List<Widget> widgets = [];
15+
var len = children.length;
16+
for (int i = 0; i < len; i++) {
17+
final item = children[i];
18+
if (i != 0 && i != len) {
19+
widgets.add(
20+
Divider(indent: 12, endIndent: 12, height: 1, color: Color(0xFFECECEC)),
21+
);
22+
}
23+
widgets.add(item);
24+
}
25+
return Container(
26+
child: Column(
27+
children: widgets,
28+
),
29+
);
30+
}
31+
}

0 commit comments

Comments
 (0)