flutter自学交流群1102781545,欢迎提问
只需要在页面顶层套一个组件
onNotification: (notification) {
if (_topAppbarHei == 0) {
setState(() {
_topAppbarHei = _appbarGlogbalKey.currentContext.size.height +
MediaQueryData.fromWindow(window).padding.top;
_initImagesTopHei = getY(_detailImagesGlogbalKey.currentContext); // 获取widget到屏幕顶部的距离
});
addScrollListener(); // 滑动监听
}
return null;
},
child:... // 子组件
获取widget到屏幕顶部距离方法
double getY(BuildContext buildContext) {
final RenderBox box = buildContext.findRenderObject();
final topLeftPosition = box.localToGlobal(Offset.zero);
return topLeftPosition.dy;
}
网友评论