#flutter #dart #layout
#трепетание #дротик #макет
Вопрос:
Я пытаюсь создать прокручиваемый ModalBottomSheet
объект, который исчезает, когда я касаюсь вне модального.
Это код ModalBottomSheet
:
void _modalBottomSheet(BuildContext context) {
showModalBottomSheet(
context: context,
isScrollControlled: true,
builder: (BuildContext context) {
return DraggableScrollableSheet(
initialChildSize: 0.5,
builder: (BuildContext context, ScrollController controller) {
return Container(
padding: EdgeInsets.only(top: 30),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft:Radius.circular(40),
topRight: Radius.circular(40)
)
),
child: Column(
children: <Widget>[
Padding(
padding: EdgeInsets.all(10),
child: TextField(
focusNode: _focusNode,
decoration: InputDecoration(
contentPadding: EdgeInsets.all(10),
hintText: 'Search people...'
),
onChanged: (String change) => print(1)
)
),
Expanded(
child: ListView.builder(
controller: controller,
padding: EdgeInsets.all(10),
itemCount: filteredUsers.length,
itemBuilder: (BuildContext context, int index) {
return FlatButton(
onPressed: () {
collabsList.add(filteredUsers[index].name);
widget.changeCallback(collabsList);
},
child: Align(
alignment: Alignment.centerLeft,
child: Padding(
padding: EdgeInsets.all(10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
filteredUsers[index].name,
textAlign: TextAlign.left,
style: TextStyle(
fontSize: 16,
color: Colors.black
)
),
SizedBox(height: 5),
Text(
filteredUsers[index].email,
textAlign: TextAlign.left,
style: TextStyle(
fontSize: 14,
color: Colors.grey
)
)
]
)
)
)
);
}
)
)
]
)
);
}
);
}
);
}
Комментарии:
1. Любая помощь была бы потрясающей!
Ответ №1:
Вы можете заставить модальный лист отклоняться, добавив свойство isDismissible: true
showModalBottomSheet
.
Также имейте в виду, чтобы установить expand: false
в DraggableScrollableSheet
.
Ответ №2:
Сделайте isDismissible:true и его можно отклонить
showModalBottomSheet<void>(
isDismissible:true ,
Комментарии:
1. Я уже пробовал это и попробовал еще раз, все еще не работает.