【发布时间】:2020-11-16 10:17:35
【问题描述】:
请看下面的代码示例,或者直接运行here
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) => MaterialApp(
home: Material(
child: Stack(
children: [
Center(
child: MaterialButton(
color: Colors.white,
child: Icon(Icons.ac_unit),
onPressed: () => print('pressed'),
),
),
CustomScrollWidget()
],
),
),
);
}
class CustomScrollWidget extends StatelessWidget {
@override
Widget build(BuildContext context) => CustomScrollView(
slivers: <Widget>[
SliverAppBar(
pinned: true,
expandedHeight: MediaQuery.of(context).size.height,
flexibleSpace: FlexibleSpaceBar(
title: const Center(child: Text('scroll me')),
),
),
const SliverFillRemaining(),
],
);
}
如何允许手势通过堆栈中的小部件?
AFAIK 设置 GestureDetector 的 HitTestBehavior 只会影响孩子,
所以不应该在Stack 中工作,知道吗?
【问题讨论】:
-
查看这个问题和提出解决方法的评论,也许它会有所帮助:github.com/flutter/flutter/issues/47119
-
是的,跟我一样