当 GestureDetector 的 CustomCard 包装器时,Flutter ListView 不滚动
Flutter ListView not scrolling when CustomCard wrapper by GestureDetector
我有一个 ListView 来显示卡片列表。当用户单击卡片时,将调用详细信息页面。为了识别 Tap 手势,我用 GestureDetector 包装了 CustomCard,但此后列表不再滚动。
class PageUI extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: SingleChildScrollView(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
SizedBox(height: 48),
Text(
'PageTitle',
style: Get.theme.textTheme.headline5,
),
SizedBox(height: 18),
ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: list.length,
itemBuilder: (context, index) => GestureDetector(
child: CustomCard(item: list[index]),
onTap: () {
// Navigate to DetailsPage
},
),
),
],
),
),
);
}
}
请尝试
ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: 10,
itemBuilder: (context, index) => GestureDetector(
child: CustomCard(item: list[index]),
onTap: () {
// Navigate to DetailsPage
},
),
),
我有一个 ListView 来显示卡片列表。当用户单击卡片时,将调用详细信息页面。为了识别 Tap 手势,我用 GestureDetector 包装了 CustomCard,但此后列表不再滚动。
class PageUI extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: SingleChildScrollView(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
SizedBox(height: 48),
Text(
'PageTitle',
style: Get.theme.textTheme.headline5,
),
SizedBox(height: 18),
ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: list.length,
itemBuilder: (context, index) => GestureDetector(
child: CustomCard(item: list[index]),
onTap: () {
// Navigate to DetailsPage
},
),
),
],
),
),
);
}
}
请尝试
ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: 10,
itemBuilder: (context, index) => GestureDetector(
child: CustomCard(item: list[index]),
onTap: () {
// Navigate to DetailsPage
},
),
),