Skip to content

Commit f179cf7

Browse files
committed
bottomsheet testing completed
1 parent 7e31635 commit f179cf7

File tree

5 files changed

+443
-227
lines changed

5 files changed

+443
-227
lines changed

example/lib/main_temp.dart

Lines changed: 105 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ class _MyHomePageState extends State<MyHomePage>
253253
String searchData;
254254
final TextEditingController _searchController = TextEditingController();
255255
double _rating = 3.5;
256+
final GFBottomSheetController _controller = GFBottomSheetController();
256257

257258
@override
258259
void initState() {
@@ -523,7 +524,7 @@ class _MyHomePageState extends State<MyHomePage>
523524
// ),
524525
],
525526
),
526-
// backgroundColor: Colors.blueGrey,
527+
backgroundColor: Colors.blueGrey,
527528
body:
528529

529530
// GFTabBarView(
@@ -615,25 +616,25 @@ class _MyHomePageState extends State<MyHomePage>
615616
// child: Text('body or any kind of widget here..'),
616617
// )),
617618

618-
GFShimmer(
619-
child: const Text(
620-
'GF Shimmer',
621-
style: TextStyle(fontSize: 48, fontWeight: FontWeight.w700),
622-
),
623-
showGradient: true,
624-
gradient: LinearGradient(
625-
begin: Alignment.bottomRight,
626-
end: Alignment.centerLeft,
627-
stops: const <double>[0, 0.3, 0.6, 0.9, 1],
628-
colors: [
629-
Colors.teal[100],
630-
Colors.teal[200],
631-
Colors.teal[300],
632-
Colors.teal[400],
633-
Colors.teal[500],
634-
],
635-
),
636-
),
619+
// GFShimmer(
620+
// child: const Text(
621+
// 'GF Shimmer',
622+
// style: TextStyle(fontSize: 48, fontWeight: FontWeight.w700),
623+
// ),
624+
// showGradient: true,
625+
// gradient: LinearGradient(
626+
// begin: Alignment.bottomRight,
627+
// end: Alignment.centerLeft,
628+
// stops: const <double>[0, 0.3, 0.6, 0.9, 1],
629+
// colors: [
630+
// Colors.teal[100],
631+
// Colors.teal[200],
632+
// Colors.teal[300],
633+
// Colors.teal[400],
634+
// Colors.teal[500],
635+
// ],
636+
// ),
637+
// ),
637638

638639
// GFShimmer(
639640
// child: emptyBlock,
@@ -657,6 +658,7 @@ class _MyHomePageState extends State<MyHomePage>
657658
setState(() {
658659
_rating = value;
659660
});
661+
print('draged $_rating ');
660662
},
661663
),
662664

@@ -690,32 +692,32 @@ class _MyHomePageState extends State<MyHomePage>
690692
// },
691693
// ),
692694

693-
GFRating(
694-
value: _rating,
695-
size: GFSize.LARGE,
696-
filledIcon: const Icon(
697-
Icons.sentiment_very_satisfied,
698-
color: Colors.green,
699-
size: 50,
700-
),
701-
halfFilledIcon: const Icon(
702-
Icons.sentiment_neutral,
703-
color: Colors.amber,
704-
size: 50,
705-
),
706-
defaultIcon: const Icon(
707-
Icons.sentiment_very_dissatisfied,
708-
color: Colors.red,
709-
size: 50,
710-
),
711-
allowHalfRating: false,
712-
onChanged: (value) {
713-
setState(() {
714-
_rating = value;
715-
print('user selected $_rating');
716-
});
717-
},
718-
),
695+
// GFRating(
696+
// value: _rating,
697+
// size: GFSize.LARGE,
698+
// filledIcon: const Icon(
699+
// Icons.sentiment_very_satisfied,
700+
// color: Colors.green,
701+
// size: 50,
702+
// ),
703+
// halfFilledIcon: const Icon(
704+
// Icons.sentiment_neutral,
705+
// color: Colors.amber,
706+
// size: 50,
707+
// ),
708+
// defaultIcon: const Icon(
709+
// Icons.sentiment_very_dissatisfied,
710+
// color: Colors.red,
711+
// size: 50,
712+
// ),
713+
// allowHalfRating: false,
714+
// onChanged: (value) {
715+
// setState(() {
716+
// _rating = value;
717+
// print('user selected $_rating');
718+
// });
719+
// },
720+
// ),
719721

720722
GFRating(
721723
value: _rating,
@@ -2075,35 +2077,66 @@ class _MyHomePageState extends State<MyHomePage>
20752077
],
20762078
),
20772079
),
2078-
bottomNavigationBar: GFTabBar(
2079-
length: 5,
2080-
controller: tabController,
2081-
tabs: tabList,
2082-
isScrollable: true,
2083-
shape: const RoundedRectangleBorder(
2084-
borderRadius: BorderRadius.only(
2085-
topLeft: Radius.circular(24), topRight: Radius.circular(24))),
2086-
indicator: BoxDecoration(
2087-
color: Colors.teal,
2088-
border: Border.all(color: Colors.tealAccent, width: 2)),
2089-
indicatorPadding: const EdgeInsets.all(8),
2090-
indicatorWeight: 5,
2091-
indicatorColor: GFColors.WHITE,
2092-
indicatorSize: TabBarIndicatorSize.label,
2093-
labelColor: Colors.lightGreen,
2094-
labelPadding: const EdgeInsets.all(8),
2095-
tabBarColor: Colors.blueGrey,
2096-
tabBarHeight: 66,
2097-
unselectedLabelColor: Colors.black,
2098-
labelStyle: const TextStyle(
2099-
fontWeight: FontWeight.w500,
2100-
fontSize: 16,
2080+
bottomSheet: GFBottomSheet(
2081+
controller: _controller,
2082+
// enableExpandableContent: true,
2083+
stickyHeaderHeight: 70,
2084+
stickyHeader: const GFListTile(
2085+
avatar: GFAvatar(
2086+
backgroundColor: Colors.amber,
2087+
),
2088+
titleText: 'Header Title',
2089+
subtitleText: '11 minutes ago',
21012090
),
2102-
unselectedLabelStyle: const TextStyle(
2103-
fontWeight: FontWeight.w500,
2104-
fontSize: 12,
2091+
contentBody: ListView(
2092+
shrinkWrap: true,
2093+
physics: const ScrollPhysics(),
2094+
children: [
2095+
const Text('Content GetWidget'),
2096+
Container(
2097+
padding: const EdgeInsets.all(16),
2098+
child: const Text('Get Widget is one of the largest Flutter open-source '
2099+
'UI library for mobile or web apps. It has more than 1000+ pre-built reusable widgets.'),
2100+
),
2101+
],
2102+
),
2103+
stickyFooterHeight: 60,
2104+
stickyFooter: Container(
2105+
alignment: AlignmentDirectional.center,
2106+
width: 444,
2107+
color: Colors.amber,
2108+
child: const Text('Footer Title'),
21052109
),
21062110
),
2111+
// bottomNavigationBar: GFTabBar(
2112+
// length: 5,
2113+
// controller: tabController,
2114+
// tabs: tabList,
2115+
// isScrollable: true,
2116+
// shape: const RoundedRectangleBorder(
2117+
// borderRadius: BorderRadius.only(
2118+
// topLeft: Radius.circular(24), topRight: Radius.circular(24))),
2119+
// indicator: BoxDecoration(
2120+
// color: Colors.teal,
2121+
// border: Border.all(color: Colors.tealAccent, width: 2)),
2122+
// indicatorPadding: const EdgeInsets.all(8),
2123+
// indicatorWeight: 5,
2124+
// indicatorColor: GFColors.WHITE,
2125+
// indicatorSize: TabBarIndicatorSize.label,
2126+
// labelColor: Colors.lightGreen,
2127+
// labelPadding: const EdgeInsets.all(8),
2128+
// tabBarColor: Colors.blueGrey,
2129+
// tabBarHeight: 66,
2130+
// unselectedLabelColor: Colors.black,
2131+
// labelStyle: const TextStyle(
2132+
// fontWeight: FontWeight.w500,
2133+
// fontSize: 16,
2134+
// ),
2135+
// unselectedLabelStyle: const TextStyle(
2136+
// fontWeight: FontWeight.w500,
2137+
// fontSize: 12,
2138+
// ),
2139+
// ),
21072140
);
21082141
}
21092142

lib/components/bottom_sheet/gf_bottom_sheet.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class GFBottomSheet extends StatefulWidget {
1818
this.enableExpandableContent = false,
1919
}) : assert(elevation >= 0.0),
2020
assert(minContentHeight >= 0.0),
21+
assert(contentBody != null),
2122
super(key: key) {
2223
controller.height = minContentHeight;
2324
controller.animationDuration = animationDuration;

0 commit comments

Comments
 (0)