flutter_sliding_up_panel

Last updated:

0 purchases

flutter_sliding_up_panel Image
flutter_sliding_up_panel Images
Add to Cart

Description:

flutter sliding up panel

flutter_sliding_up_panel #
A sliding up panel widget which can be used to show or hide content, beautiful and simple.
demo #

Getting Started #
Null safety #
dependencies:
flutter_styled_toast: ^2.0.1
copied to clipboard
Previous version #
dependencies:
flutter_sliding_up_panel: ^1.2.1
copied to clipboard
import 'package:flutter_sliding_up_panel/flutter_sliding_up_panel.dart';
copied to clipboard
Stack(
children: <Widget>[
Scaffold(
appBar: AppBar(
title: Text(widget.title),
actions: <Widget>[
IconButton(
icon: Icon(Icons.settings),
onPressed: () {
widget.onSetting?.call();
},
)
],
),
body: Container(
child:Center(
child:Text('This is content'),
),
),
),
SlidingUpPanelWidget(
child: Container(
margin: EdgeInsets.symmetric(horizontal: 15.0),
decoration: ShapeDecoration(
color: Colors.white,
shadows: [BoxShadow(blurRadius: 5.0,spreadRadius: 2.0,color: const Color(0x11000000))],
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(10.0),
topRight: Radius.circular(10.0),
),
),
),
child: Column(
children: <Widget>[
Container(
color: Colors.white,
alignment: Alignment.center,
height: 50.0,
child: Row(
children: <Widget>[
Icon(Icons.menu,size: 30,),
Padding(
padding: EdgeInsets.only(left: 8.0,),
),
Text(
'click or drag',
)
],
mainAxisAlignment: MainAxisAlignment.center,
),
),
Divider(
height: 0.5,
color: Colors.grey[300],
),
Flexible(
child: Container(
child: ListView.separated(
controller: scrollController,
physics: ClampingScrollPhysics(),
itemBuilder: (context, index) {
return ListTile(
title: Text('list item $index'),
);
},
separatorBuilder: (context, index) {
return Divider(
height: 0.5,
);
},
shrinkWrap: true,
itemCount: 20,
),
color: Colors.white,
),
),
],
mainAxisSize: MainAxisSize.min,
),
),
controlHeight: 50.0,
anchor: 0.4,
panelController: panelController,
onTap: (){
///Customize the processing logic
if(SlidingUpPanelStatus.expanded==panelController.status){
panelController.collapse();
}else{
panelController.expand();
}
}, //Pass a onTap callback to customize the processing logic when user click control bar.
enableOnTap: true,//Enable the onTap callback for control bar.
dragDown: (details){
print('dragDown');
},
dragStart: (details){
print('dragStart');
},
dragCancel: (){
print('dragCancel');
},
dragUpdate: (details){
print('dragUpdate,${panelController.status==SlidingUpPanelStatus.dragging?'dragging':''}');
},
dragEnd: (details){
print('dragEnd');
},
),
],
);
copied to clipboard
SlidingUpPanelWidget param #



property
description




child
Widget (Not Null)(required) (Child widget)


controlHeight
double (Not Null)(required) (The height of the control bar which could be used to drag or click to control this panel)


animationController
AnimationController (The animation that controls the bottom sheet's position.)


panelController
SlidingUpPanelController (Not Null)(required) (The controller to control panel)


onStatusChanged
OnSlidingUpPanelStatusChanged (Called when the this panel status changed)


elevation
double (default 8.0) (Elevation of the panel)


panelStatus
SlidingUpPanelStatus (default SlidingUpPanelStatus.collapsed) (Panel status)


anchor
double (default 0.5) (The fraction of anchor position, which is from 0 to 1.0)


onTap
VoidCallback (default is a build-in callback) (Void callback when click control bar)


enableOnTap
bool (Not Null)(default is true) (Enable or disable the tap callback for control bar)


dragDown
OnSlidingUpPanelDragDown (default is null) (Drag down listener)


dragStart
OnSlidingUpPanelDragStart (default is null) (Drag start listener)


dragUpdate
OnSlidingUpPanelDragUpdate (default is null) (Drag update listener)


dragCancel
OnSlidingUpPanelDragCancel (default is null) (Drag cancel listener)


dragEnd
OnSlidingUpPanelDragEnd (default is null) (Drag end listener)



Example #
example

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.