У меня на странице 4 прокручиваемых виджета: 1 вертикальный (основной) и 3 горизонтальных.
и 2 прокручиваемых виджета (1 вертикальный и 1 горизонтальный) запускают анимацию параллакса для фона.
Как Могу ли я определить, какой виджет Scrollable отправляет ScrollNotification.
Вот пример:
class MYPage extends StatefulWidget {
MYPage({Key key}) : super(key: key);
@override
_MYPageState createState() => _MYPageState();
}
class _MYPageState extends State<MYPage> {
double scrollX = 0.0;
double scrollY = 0.0;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
fit: StackFit.expand,
children: <Widget>[
ParallaxBackground(scrollX, scrollY),
Positioned.fill(
child: NotificationListener<ScrollNotification>(
onNotification: (notification) {
double scrollOffset = notification.metrics.pixels;
setState(() {
if (notification.metrics.axis == Axis.horizontal) {
this.scrollX = scrollOffset;
} else {
this.scrollY = scrollOffset;
}
});
return true;
},
child: SingleChildScrollView(
child: Column(
children: <Widget>[
Content(),
HorizontalScrollableContent(),
Content(),
HorizontalScrollableContentWithParallaxControl(),
Content(),
HorizontalScrollableContent(),
Content(),
],
),
),
),
),
],
),
);
}
}