bottom_sheet 1.0.1-dev.2
bottom_sheet: ^1.0.1-dev.2 copied to clipboard
Flexible bottom sheet with the ability to scroll content even without a list.
Bottom Sheet #
This package is part of the SurfGear toolkit made by Surf.
About #
Custom bottom sheet widget, that can resize by drag and then scroll.
Usage #
Main classes:
- FlexibleBottomSheetController
- FlexibleBottomSheetOwner
- BottomSheetRoute and Showing methods
Flexible and scrollable bottom sheet.
You can show it if call showFlexibleBottomSheet()
, then it will be show as popup like a modal bottom sheet with resize by drag and scrollable.
Also you can use FlexibleBottomSheetController
to show it. For this call you must create FlexibleBottomSheetController
and give to controller.
There are 2 type of BottomSheet:
- BottomSheet
- StickyBottomSheet
Simple BottomSheet
[]
To show bottomSheet, use :
showFlexibleBottomSheet(
minHeight: 0,
initHeight: 0.5,
maxHeight: 1,
context: context,
builder: _buildBottomSheet,
anchors: [0, 0.5, 1],
);
Widget _buildBottomSheet(
BuildContext context,
ScrollController scrollController,
double bottomSheetOffset,
) {
return SafeArea(
child: Material(
child: Container(
child: ListView(
...
),
),
),
);
}
Sticky BottomSheet
[]
To show sticky BottomSheet, use:
You should return SliverChildListDelegate from builder !!!
showStickyFlexibleBottomSheet(
minHeight: 0,
initHeight: 0.5,
maxHeight: 1,
headerHeight: 200,
context: context,
backgroundColor: Colors.white,
headerBuilder: (BuildContext context, double offset) {
return Container(
...
);
},
builder: (BuildContext context, double offset) {
return SliverChildListDelegate(
<Widget>[...],
);
},
anchors: [0, 0.5, 1],
);
Installation #
Add bottom_sheet
to your pubspec.yaml
file:
dependencies:
bottom_sheet: ^1.0.0
You can use both stable
and dev
versions of the package listed above in the badges bar.
Changelog #
All notable changes to this project will be documented in this file.
Issues #
For issues, file directly in the main SurfGear repo.
Contribute #
If you would like to contribute to the package (e.g. by improving the documentation, solving a bug or adding a cool new feature), please review our contribution guide first and send us your pull request.
Your PRs are always welcome.
How to reach us #
Please feel free to ask any questions about this package. Join our community chat on Telegram. We speak English and Russian.