when using SingleChildScrollView can't drag down botttom sheet
brother create your model bottom sheet in seprate widget its will open when you click and sceond wrap singlechild scroll view with bottom model sheet.
showModalBottomSheet( enableDrag: true, isDismissible: false, isScrollControlled: true,)
and complete example of bottom sheet
Widget updatebottomSheet() { Size size = MediaQuery.of(context).size; showModalBottomSheet( enableDrag: false, isDismissible: false, isScrollControlled: true, context: context, builder:(context) { return GestureDetector( behavior: HitTestBehavior.opaque, child: SingleChildScrollView( child: Container( padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom+10), // height: size.height*0.6, decoration: BoxDecoration( color: Colors.white, ), child: Column( children: [ Padding( padding: const EdgeInsets.all(25.0), child: Container( decoration: BoxDecoration( //color: Colors.red, borderRadius: BorderRadius.circular(20), ), height: size.height*0.5, width: double.infinity, child: Card( elevation: 4, child: Padding( padding: const EdgeInsets.all(12.0), child: Form( key: _formKey, child: Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ NameField( name:sectionname, controller: null, icon: Icons.person, hintText: "Please enter section name", text: "you not enter Smaster", onchanged: (value) { setState(() { Administrative.instance.SectionName=value; }); }, ), NameField( controller:null, name:smaster, icon: Icons.vpn_key_outlined, hintText: "Please enter Section Smaster", text: "your enter empty Smaster", onchanged: (value) { setState(() { Administrative.instance.Smaster=value; }); }, ), ], ), ), ), ), ), ), Padding( padding: const EdgeInsets.only(left: 20.0,right: 20.0,top: 8.0,bottom: 8.0), child: Container( width: double.infinity, height: 60, child: FlatButton( color: Colors.black, onPressed: (){ if(!_formKey.currentState.validate()){ return; } else { _formKey.currentState.save(); // signupauth.instance.addstudent(); if(Administrative.instance.SectionName==null) { Administrative.instance.SectionName=sectionname; } else if(Administrative.instance.Smaster==null) { Administrative.instance.Smaster=smaster; } print("hello"+ids); FirebaseFirestore.instance .collection("Section") .doc(ids).update({ "SectionName":Administrative.instance.SectionName, "Smaster":Administrative.instance.Smaster, }); Fluttertoast.showToast( msg: "Section is added", toastLength: Toast.LENGTH_LONG, gravity: ToastGravity.CENTER, timeInSecForIosWeb: 1, backgroundColor: Colors.grey, textColor: Colors.white, fontSize: 16.0 ); Navigator.pop(context); } }, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10.0), ), child: Text("Save",style: TextStyle(color: Colors.white,fontSize: 18,fontWeight: FontWeight.bold),), ), ), ), Padding( padding: const EdgeInsets.only(left: 20.0,right: 20.0,top: 8.0,bottom: 8.0), child: Container( width: double.infinity, height: 60, child: FlatButton( color: Colors.black, onPressed: (){ Navigator.pop(context); }, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10.0), ), child: Text("Cancel",style: TextStyle(color: Colors.white,fontSize: 18,fontWeight: FontWeight.bold),), ), ), ), ], ), ), ), ); } ); }