Created
September 4, 2020 22:13
-
-
Save thiagocarvalhodev/0ea58868469224bf40c5b9c878b02b06 to your computer and use it in GitHub Desktop.
bottom_sheet
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flutter/material.dart'; | |
import 'package:zera/src/common/all.dart'; | |
import 'package:zera/src/common/theme_loader.dart'; | |
import 'package:zera/src/widgets/bottom_sheet_list_item/bottom_sheet_list_item_theme.dart'; | |
class ZeraBottomSheetListItem extends StatelessWidget with ThemeLoader { | |
final Key key; | |
final ZeraBottomSheetListItemStyle style; | |
final ZeraBottomSheetListItemTheme theme; | |
final List models; | |
final Widget Function(String) builder; | |
final Function onPressed; | |
final EdgeInsets padding; | |
final bool shrinkWrap; | |
final ScrollController controller; | |
final double height; | |
// TODO: IMplementar tipo genérico | |
final Function(String, int) onTap; | |
ZeraBottomSheetListItem( | |
{this.key, | |
this.theme, | |
this.style, | |
@required this.models, | |
@required this.builder, | |
this.onPressed, | |
this.padding, | |
this.shrinkWrap = false, | |
this.controller, | |
this.onTap, | |
this.height}) | |
: super(key: key); | |
@override | |
Widget build(BuildContext context) { | |
final theme = loadTheme(context); | |
return Container( | |
height: height, | |
child: ListView.builder( | |
controller: controller ?? ScrollController(), | |
padding: padding ?? EdgeInsets.all(kComponentSpacerL), | |
shrinkWrap: shrinkWrap, | |
itemCount: models.length, | |
itemBuilder: (context, index) => InkWell( | |
onTap: () => onTap(models[index], index), | |
child: builder(models[index]))), | |
); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment