Вкладений ScrollView всередині віджета ковзаючої панелі


9

У мене є віджет панелі, який можна перетягувати вертикально внизу та назовні екрану. У цьому віджеті панелі є ListViewте, що можна прокручувати.

Я намагаюся домогтися того, щоб панель обробляла перетягування для відкриття та закриття без вкладеного списку перегляду. Після того, як панель відкрита, перегляд списку стає прокручуваним, і якщо перегляд списку прокручується вниз, поки він уже знаходиться вгорі, панель обробляє жест замість цього і закривається.

Так:

введіть тут опис зображення

Я спробував увімкнути / вимкнути фізику прокрутки в ListView залежно від положення панелі, але виявилося, що це неможливо.

Будь-які ідеї? :)


Ви спробували рішення, яке я вам дав? Я сподіваюся, що це допомагає.
Пабло Баррера

@PabloBarrera Закінчився, переконуючи поведінку в DraggableScrollableSheetсобі, але я прийму вашу відповідь;)
Чемпіон Тео

Відповіді:


5

Ви можете досягти цього за допомогою DraggableScrollableSheet.

Ось короткий приклад того, як ви можете ним користуватися:

@override
Widget build(BuildContext context) {
  return Scaffold(
    body: Stack(
      children: <Widget>[
        Center(child: Text('Some content')),
        DraggableScrollableSheet(
          minChildSize: 0.2,
          initialChildSize: 0.2,
          builder: (context, scrollController) => Container(
            color: Colors.lightBlueAccent,
            child: ListView.builder(
              controller: scrollController,
              itemCount: 20,
              itemBuilder: (context, index) => SizedBox(
                height: 200,
                child: Text('Item $index'),
              ),
            ),
          ),
        ),
      ],
    ),
  );
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.