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

Виджет SliverAppBar

Виджет SliverAppBar кладут в slivers у CustomScrollView. Фон задаёт FlexibleSpaceBar в flexibleSpace, режим сжатия - collapseMode из CollapseMode.

Синтаксис

SliverAppBar(title: Text('abcde'))

Параметры

Параметр Описание
title Заголовок в панели.
floating Появляться при прокрутке вверх.
pinned Оставлять полоску на экране.
flexibleSpace Фон, который сжимается.

Пример

Давайте прикрепим шапку к списку:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: CustomScrollView( slivers: [ SliverAppBar(title: Text('abcde'), pinned: true), SliverList.list( children: List.generate(20, (i) => ListTile(title: Text('12345'))), ), ], ), ), ); }

На экране шапка остаётся сверху, список уходит под неё при прокрутке.

Пример

Давайте добавим большую flexibleSpace:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: CustomScrollView( slivers: [ SliverAppBar( expandedHeight: 120, flexibleSpace: FlexibleSpaceBar(title: Text('abcde')), ), SliverList.list(children: [Text('12345')]), ], ), ), ); }

На экране фон шапки сжимается при прокрутке вниз.

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

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