Jaime Blasco
Committed by GitHub

Merge pull request #50 from Serjobas/feature/bar-bottom-sheet-new-args

New params to add the more customizable look of BarBottomSheet
@@ -6,10 +6,16 @@ import 'package:flutter/services.dart'; @@ -6,10 +6,16 @@ import 'package:flutter/services.dart';
6 import '../../modal_bottom_sheet.dart'; 6 import '../../modal_bottom_sheet.dart';
7 import '../bottom_sheet_route.dart'; 7 import '../bottom_sheet_route.dart';
8 8
  9 +const Radius _default_bar_top_radius = Radius.circular(15);
  10 +
9 class BarBottomSheet extends StatelessWidget { 11 class BarBottomSheet extends StatelessWidget {
10 final Widget child; 12 final Widget child;
  13 + final Widget topControl;
  14 + final Radius topRadius;
11 15
12 - const BarBottomSheet({Key key, this.child}) : super(key: key); 16 + const BarBottomSheet(
  17 + {Key key, this.child, this.topControl, @required this.topRadius})
  18 + : super(key: key);
13 19
14 @override 20 @override
15 Widget build(BuildContext context) { 21 Widget build(BuildContext context) {
@@ -22,7 +28,8 @@ class BarBottomSheet extends StatelessWidget { @@ -22,7 +28,8 @@ class BarBottomSheet extends StatelessWidget {
22 SizedBox(height: 12), 28 SizedBox(height: 12),
23 SafeArea( 29 SafeArea(
24 bottom: false, 30 bottom: false,
25 - child: Container( 31 + child: topControl ??
  32 + Container(
26 height: 6, 33 height: 6,
27 width: 40, 34 width: 40,
28 decoration: BoxDecoration( 35 decoration: BoxDecoration(
@@ -35,9 +42,8 @@ class BarBottomSheet extends StatelessWidget { @@ -35,9 +42,8 @@ class BarBottomSheet extends StatelessWidget {
35 flex: 1, 42 flex: 1,
36 fit: FlexFit.loose, 43 fit: FlexFit.loose,
37 child: ClipRRect( 44 child: ClipRRect(
38 - borderRadius: BorderRadius.only(  
39 - topLeft: Radius.circular(15),  
40 - topRight: Radius.circular(15)), 45 + borderRadius:
  46 + BorderRadius.only(topLeft: topRadius, topRight: topRadius),
41 child: Container( 47 child: Container(
42 decoration: BoxDecoration( 48 decoration: BoxDecoration(
43 color: Theme.of(context).scaffoldBackgroundColor, 49 color: Theme.of(context).scaffoldBackgroundColor,
@@ -72,6 +78,8 @@ Future<T> showBarModalBottomSheet<T>({ @@ -72,6 +78,8 @@ Future<T> showBarModalBottomSheet<T>({
72 bool useRootNavigator = false, 78 bool useRootNavigator = false,
73 bool isDismissible = true, 79 bool isDismissible = true,
74 bool enableDrag = true, 80 bool enableDrag = true,
  81 + Radius topRadius = _default_bar_top_radius,
  82 + Widget topControl,
75 Duration duration, 83 Duration duration,
76 }) async { 84 }) async {
77 assert(context != null); 85 assert(context != null);
@@ -88,6 +96,8 @@ Future<T> showBarModalBottomSheet<T>({ @@ -88,6 +96,8 @@ Future<T> showBarModalBottomSheet<T>({
88 bounce: bounce, 96 bounce: bounce,
89 containerBuilder: (_, __, child) => BarBottomSheet( 97 containerBuilder: (_, __, child) => BarBottomSheet(
90 child: child, 98 child: child,
  99 + topRadius: topRadius,
  100 + topControl: topControl,
91 ), 101 ),
92 secondAnimationController: secondAnimation, 102 secondAnimationController: secondAnimation,
93 expanded: expand, 103 expanded: expand,