Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
436 of 1024 menu
◀ ▶

Виджет SliverOverlapInjector

Виджет SliverOverlapInjector ставят в slivers тела рядом с SliverOverlapAbsorber.

Синтаксис

SliverOverlapInjector(handle: handle)

Параметры

Параметр Описание
handle Тот же handle, что у SliverOverlapAbsorber. Обязательный параметр.

Пример

Давайте вставим injector перед списком:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: NestedScrollView( headerSliverBuilder: (context, inner) { return [ SliverOverlapAbsorber( handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context), sliver: SliverAppBar(title: Text('abcde')), ), ]; }, body: Builder( builder: (context) { return CustomScrollView( slivers: [ SliverOverlapInjector( handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context), ), SliverList.list(children: [Text('12345')]), ], ); }, ), ), ), ), ); }

На экране первая строка списка не прячется под шапкой.

Пример

Давайте добавить второй sliver после injector:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: NestedScrollView( headerSliverBuilder: (context, inner) => [SliverAppBar(title: Text('abcde'))], body: ListView(children: [Text('12345')]), ), ), ), ); }

На экране простой NestedScrollView без overlap пар, injector не обязателен.

Смотрите также

  • виджет SliverOverlapAbsorber,
    который часто ставят рядом в прокручиваемых экранах
  • перечисление CollapseMode,
    который дополняет работу с прокруткой
  • виджет SliverSafeArea,
    который помогает собрать сложный список
  • виджет SliverVisibility,
    который задаёт поведение или данные прокрутки
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить