Skip to content

Commit 3403ab0

Browse files
committed
types of headers is in progress
1 parent 428fc9e commit 3403ab0

4 files changed

Lines changed: 56 additions & 16 deletions

File tree

example/lib/main.dart

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,27 @@ class _MyHomePageState extends State<MyHomePage> {
126126
//
127127
// ),
128128

129+
130+
131+
132+
133+
GFListTile(
134+
// avatar: Icon(Icons.format_align_center),
135+
// icon:Icon(Icons.format_align_center),
136+
title: Text('Header'),
137+
),
138+
GFListTile(
139+
// avatar: Icon(Icons.format_align_center),
140+
// icon:Icon(Icons.format_align_center),
141+
title: Text('Header'),
142+
showDivider: false,
143+
),
144+
145+
146+
129147
GFListTile(
130148
avatar: GFAvatar(),
131-
149+
132150
icon: Icon(Icons.description),
133151
title: Text('Header'),
134152
subTitle: Text('Sub Header'),

lib/components/header/gf_header.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import 'package:flutter/material.dart';
22
import 'package:ui_kit/colors/gf_color.dart';
3+
import 'package:ui_kit/types/gf_header_type.dart';
34

45
class GFHeader extends StatelessWidget {
56
const GFHeader(
67
{Key key,
8+
this.type,
79
this.child,
810
this.text,
911
this.icon,
@@ -18,6 +20,10 @@ class GFHeader extends StatelessWidget {
1820
: super(key: key);
1921

2022

23+
24+
25+
final GFHeaderType type;
26+
2127
/// child of type [Widget] is alternative to text key. text will get priority over child
2228
final Widget child;
2329

lib/components/list_tile/gf_list_tile.dart

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ class GFListTile extends StatelessWidget {
66
/// The card's background color.
77
final Color color;
88

9-
/// [GFAvatar] used to create rounded user profile
10-
final GFAvatar avatar;
9+
/// type of [Widget] or [GFAvatar] used to create rounded user profile
10+
final Widget avatar;
1111

1212
/// The title to display inside the [GFListTile]. see [Text]
1313
final Widget title;
@@ -21,29 +21,44 @@ class GFListTile extends StatelessWidget {
2121
/// The icon to display inside the [GFListTile]. see [Icon]
2222
final Widget icon;
2323

24+
final bool showDivider;
25+
2426
const GFListTile(
2527
{Key key,
2628
this.color,
2729
this.avatar,
2830
this.title,
2931
this.subTitle,
30-
this.description,
31-
this.icon})
32+
this.description,
33+
this.icon,
34+
this.showDivider = true
35+
})
3236
: super(key: key);
3337

3438
@override
3539
Widget build(BuildContext context) {
36-
return ListTile(
37-
leading: avatar,
38-
title: title,
39-
subtitle: Column(
40-
crossAxisAlignment: CrossAxisAlignment.start,
41-
children: <Widget>[
42-
subTitle ?? Container(),
43-
description ?? Container()
44-
],
45-
),
46-
trailing: icon,
40+
return Column(
41+
crossAxisAlignment: CrossAxisAlignment.start,
42+
children: <Widget>[
43+
ListTile(
44+
leading: avatar,
45+
title: title,
46+
subtitle: subTitle != null || description != null ? Column(
47+
crossAxisAlignment: CrossAxisAlignment.start,
48+
children: <Widget>[
49+
subTitle ?? Container(),
50+
description ?? Container()
51+
],
52+
): null,
53+
trailing: icon != null ? Column(
54+
children: <Widget>[
55+
Padding(padding: EdgeInsets.only(top: description != null ? 0.0 : 8.0), child:
56+
icon )
57+
],
58+
): null
59+
),
60+
showDivider ? Divider() : Container()
61+
],
4762
);
4863
}
4964
}

lib/types/gf_header_type.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
enum GFHeaderType { typo1, typo2, typo3, typo4, typo5, typo6 }

0 commit comments

Comments
 (0)