Ich habe ein sehr schweres verschachteltes Design wie unten entworfen. Das Problem, wenn meine Liste die Listenansicht erweitert, scheint nicht zu scrollen, was der Grund dafür ist. Das Bottomheet wird erweitert, aber es gibt keinen Fokus auf die darin enthaltene Listenansicht, wenn ich vorbeirolle Wenn Sie den Text 'Betriebsstunden' berühren, beginnt der Bildlauf, aber wenn er nach oben geht, kann ich ihn nicht nach unten schieben.
_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
quelle
quelle
Antworten:
Sie machen einige Fehler. Fügen Sie erstens Widgets ein
Column
, die immer oben sichtbar sind, und wickeln Sie sieDaysList
einExpanded
und übergeben SieScrollController
sie.Dies ist Ihre Methode:
Das ist dein
Column
:Und so
DaysList
solltest du aussehen:Ausgabe:
quelle