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

Виджет DraggableScrollableSheet

Виджет DraggableScrollableSheet выезжает снизу и тянется за ручку. Начальная доля экрана - initialChildSize, минимум - minChildSize, максимум - maxChildSize, содержимое - builder со ScrollController.

Синтаксис

DraggableScrollableSheet( initialChildSize: 0.3, minChildSize: 0.2, maxChildSize: 0.8, builder: (BuildContext context, ScrollController scrollController) { return ListView(controller: scrollController, children: [Text('abcde')]); }, )

Параметры

Параметр Описание
initialChildSize Доля высоты экрана при старте.
minChildSize Минимальная доля высоты.
maxChildSize Максимальная доля высоты.
builder Строит прокручиваемое содержимое.

Пример

Давайте положим sheet на Scaffold:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Stack( children: [ Center(child: Text('12345')), DraggableScrollableSheet( initialChildSize: 0.25, builder: (context, controller) { return ListView( controller: controller, children: [ListTile(title: Text('abcde'))], ); }, ), ], ), ), ), ); }

Снизу панель с ListTile, её можно тянуть вверх.

Пример

Давайте расширим maxChildSize:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: DraggableScrollableSheet( maxChildSize: 0.9, builder: (context, controller) { return Center(child: Text('abcde')); }, ), ), ), ); }

Панель может занять до 90% высоты экрана.

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

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить