我有一个对象列表视图,基本上包含一个带有文本字段的表单,一个Google Maps对象以及另一个复选框形式。
我想做的是让google maps对象不是整个listview的滚动物理的一部分,因为那样的话,您实际上根本无法移动地图。
某些代码:
构建窗口小部件内的构造函数:
Flexible(
child: StreamBuilder(
stream: Firestore.instance.collection('users').document(uid).snapshots(),
builder: (BuildContext context, AsyncSnapshot<DocumentSnapshot> snapshot) {
if (snapshot.hasData) {
return ListView.builder(
physics: ScrollPhysics(),
shrinkWrap: true,
itemCount: 1,
itemBuilder: (context, index) =>
_buildListRows(context, snapshot.data),
);
} else {
return LoadingAnimation();
}
},
),
),
_buildListRows小部件,简化了:
Widget _buildListRows(BuildContext context, DocumentSnapshot document) {
return Container(
child: Form(
child: Column(
children: <Widget>[
Container(
child: TextFormField(),
),
Container(
child: SizedBox(
child: GoogleMap(),
),
),
Expanded(
Container(
ListView(
physics: ScrollPhysics(),
children: keys.map(key) {
return Checkbox(value: key);
}
),
),
],
),
),
);
}
因此,快速回顾一下,我需要能够在地图上方和下方滚动对象,以上下移动整个屏幕,但是在地图本身上,我需要能够控制地图,以便触摸操作将应用于地图功能。
我已经阅读了很多有关此内容的内容,并尝试了一些建议,例如在其父级下使用singlechildscrollview,然后使用listview,但是似乎其他尝试完全破坏了该应用程序,并且什么也没有显示。