J'ai une conception imbriquée très lourde comme ci-dessous, le problème lorsque ma liste étend la liste ne semble pas défiler pour quelle raison, la feuille de fond est développée mais il n'y a pas de focus sur la liste à l'intérieur, si je défile par en touchant le texte «Heures d'ouverture», il commence à défiler, mais lorsqu'il monte, je ne peux pas le faire glisser vers le bas.
_showDialog(BuildContext context) {
print("_showDialog");
showModalBottomSheet(
context: context,
isScrollControlled: true,
builder: (BuildContext context) {
return DraggableScrollableSheet(
expand: false,
builder: (context, scrollController) {
return Container(
child: Stack(
children: <Widget>[
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Align(
alignment: Alignment.topCenter,
child: Container(
margin: EdgeInsets.symmetric(vertical: 8),
height: 8.0,
width: 70.0,
decoration: BoxDecoration(
color: Colors.grey[400],
borderRadius: BorderRadius.circular(10.0)))),
SizedBox(height: 16),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 24),
child: Text('Operational Hours',
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: widget.isTab(context)
? TabTextStyles.mediumText
.copyWith()
.fontSize
: PhoneTextStyles.mediumText
.copyWith()
.fontSize)),
),
],
),
ListView(
controller: scrollController,
children: <Widget>[
SizedBox(height: 54.0),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 24),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
SizedBox(height: 20.0),
Text('Select days to add hours',
style: widget.isTab(context)
? TabTextStyles.mediumText.copyWith()
: PhoneTextStyles.mediumText.copyWith()),
]),
),
DaysList()
],
),
],
),
decoration: BoxDecoration(
shape: BoxShape.rectangle,
color: Theme.of(context).backgroundColor,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(24.0),
topRight: Radius.circular(24.0),
),
),
);
},
);
},
);
}
flutter
flutter-layout
hiashutoshsingh
la source
la source
Réponses:
Il y a quelques erreurs que vous faites. Tout d' abord, mettre des widgets en
Column
qui vont toujours être visibles en haut, deuxième envelopper votreDaysList
dansExpanded
et passerScrollController
à elle.Voici votre méthode:
Voici votre
Column
:Et voici à quoi
DaysList
devrait ressembler votre :Production:
la source