Сделайте SliverAppBar прокручиваемым, когда прокручивается дочерний элемент TabBarView - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть домашний экран с нижней навигацией, состоящий из двух элементов, внутри которых есть ListView с бесконечным списком, и я хочу, чтобы SliverAppBar можно было прокручивать, когда пользователь прокручивает один из списков. Вот что у меня есть

class HomeScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return DefaultTabController(
        length: 2,
        child: new Scaffold(
          body: CustomScrollView(
            slivers: <Widget>[
              SliverAppBar(
                snap: false,
                floating: false,
                pinned: true,
                expandedHeight: 160.0,
                flexibleSpace: FlexibleSpaceBar(
                  title: Text('Title'),
                ),
              ),
              SliverFillRemaining(
                child: TabBarView(
                  children: <Widget>[Items(), Activities()], //THESE HAVE LIST VIEW IN EACH 
                ),
              )
            ],
          ),
        ));
  }
}

А вот код одного из дочерних элементов TabBarView.

class Items extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    List<Widget> itemsWidgets = List.from(getItemsList()
        .map((Item item) => createItemWidget(context, item)));

    return Scaffold(
      body: Center(
        child: ListView(
          children: itemsWidgets,
        ),
      ),
    );
  }

  ListTile createItemWidget(BuildContext context, Item item) {
    return new ListTile(
      title: Text(item.sender.name),
      subtitle: Text('10:30 am'),
    );
  }
}

Как можно прокручивать SilverAppBar, когда пользователь прокручивает один из списков? Будем благодарны за любую помощь / предложение.

1 Ответ

0 голосов
/ 02 апреля 2020

Использовать NestedScrollView . Есть пример в API

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...