info_tren/lib/components/sliver_persistent_header_padding.dart

38 lines
965 B
Dart
Raw Normal View History

2021-08-23 17:17:42 +03:00
import 'package:flutter/material.dart';
class SliverPersistentHeaderPadding extends StatelessWidget {
final double maxHeight;
const SliverPersistentHeaderPadding({required this.maxHeight});
@override
Widget build(BuildContext context) {
return SliverPersistentHeader(
delegate: _SliverPersistentHeaderPaddingDelegate(maxHeight: maxHeight,),
floating: false,
pinned: false,
);
}
}
class _SliverPersistentHeaderPaddingDelegate extends SliverPersistentHeaderDelegate {
final double maxHeight;
const _SliverPersistentHeaderPaddingDelegate({required this.maxHeight});
@override
Widget build(BuildContext context, double shrinkOffset, bool overlapsContent) {
return Container();
}
@override
double get maxExtent => maxHeight;
@override
double get minExtent => 0;
@override
bool shouldRebuild(covariant SliverPersistentHeaderDelegate oldDelegate) {
return oldDelegate.maxExtent != maxExtent;
}
}