Как создавать собственные ленты в флаттере? - PullRequest
0 голосов
/ 22 октября 2019

Я хочу создать пользовательский контейнер под панелью приложений ленты, как показано на правом экране изображения

https://cdn.dribbble.com/users/1720296/screenshots/6918712/dribbble_blog_2x.jpg

1 Ответ

0 голосов
/ 22 октября 2019

Вы можете использовать пользовательский заголовок с SliverPersistentHeaderDelegate,

Это ваш пользовательский SliverPersistentHeaderDelegate

class _SliverAppBarDelegate extends SliverPersistentHeaderDelegate {

  @override
  double get minExtent => 100;
  @override
  double get maxExtent => 300;

  @override
  Widget build(
      BuildContext context, double shrinkOffset, bool overlapsContent) {
    return Container(
      ...
    );
  }

  @override
  bool shouldRebuild(_SliverAppBarDelegate oldDelegate) {
    return false;
  }
}

И использовать его вот так

SliverPersistentHeader(
  delegate: _SliverAppBarDelegate(
    ...
  ),
  pinned: true,
),
...