flutter_stretchable_widgets
Lots of interesting and useful widgets, such as picker or expandable components.
Demonstrations
Please run example/lib/main.dart
for more demonstrations
1. StretchablePanelWidget

import 'package:flutter_stretchable_widgets/flutter_stretchable_widgets.dart';
...
@override
Widget build(BuildContext context) {
return Stack(
children: [
/// the left top one
Positioned(
left: 0,
right: 0,
top: 80,
child: StretchablePanelWidget(
triggerWidget: const Icon(Icons.add),
stretchWidget: Text('Hello world', style: TextStyle(color: Colors.grey.withAlpha(128))),
),
),
/// the right top one
Positioned(
left: 0,
right: 0,
top: 80,
child: StretchablePanelWidget(
widgetsBuilder: (context, state) {
return state.isShowingTriggeredWidget ? const Icon(Icons.add) : const Text('Hello world');
},
),
),
],
);
}
...
2. TimeRangePickerView

import 'package:flutter_stretchable_widgets/flutter_stretchable_widgets.dart';
...
void onPressEvent() {
/// Show the time rage picker
TimeRangePickerView.show(
context,
onChange: (startDateTime, endDateTime) {
print('ON CHANGE: startDateTime: $startDateTime, endDateTime: $endDateTime');
},
onConfirm: (startDateTime, endDateTime) {
print('ON CONFIRM: startDateTime: $startDateTime, endDateTime: $endDateTime');
},
);
}
...
Features and bugs
Please feel free to: request new features and bugs at the issue tracker