スライド可能なパネルウィジェット内のネストされたScrollView


9

画面の下部から垂直方向に上下にドラッグできるパネルウィジェットがあります。そのパネルウィジェットには、ListViewスクロール可能ながあります。

私が達成しようとしているのは、ネストされたリストビューが干渉することなく、パネルが開閉のドラッグを処理できるようにすることです。パネルが開くと、リストビューがスクロール可能になり、リストビューがすでに一番上にあるときに下にスクロールすると、パネルは代わりにジェスチャーを処理して閉じます。

そのようです:

ここに画像の説明を入力してください

Panelの位置に基づいてListViewのスクロール物理を有効/無効にしようとしましたが、そのようにできないことがわかりました。

何か案は ?:)


私があなたに与えた解決策を試しましたか?お役に立てば幸いです。
パブロ・バレラ

@PabloBarreraは結局、DraggableScrollableSheet自分の行動を記録し直しましたが、私はあなたの答えを受け入れます;)
ThéoChampion

回答:


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'),
              ),
            ),
          ),
        ),
      ],
    ),
  );
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.