Flutter 在滚动过程中保持某些元素固定?

Gry*_*yva 4 scroll flutter flutter-layout flutter-listview singlechildscrollview

如何在滚动过程中保持某些元素固定(以及可滚动部分之上)?它是否需要位于 SingleChildScrollView 内?

为我的问题做了一个直观的例子:

我需要蓝色部分可滚动,并且它位于需要保持固定的绿色部分后面。

如何在滚动过程中保持某些元素固定?

这是我的代码的简化部分:

body: SingleChildScrollView(
          child: ListView(
            children: [
              Obx(()=>Container(THIS CONTAINER SHOULD STAY FIXED DURING SCROLL)),
              Obx(()=>Column(THIS PART SHOULD BE SCROLLABLE)),
              Obx(()=>Text(THIS PART SHOULD BE SCROLLABLE)),
              Obx(()=>Row(THIS PART SHOULD BE SCROLLABLE))
            ],
          )
        ),
Run Code Online (Sandbox Code Playgroud)

Era*_*ray 7

如果您将 ListView 小部件和固定容器小部件放在列中,它将起作用。

例如:

 Column(
    children: [
       Obx(()=>Container(THIS CONTAINER SHOULD STAY FIXED DURING SCROLL)),
       Expanded(
           child: ListView(
              Obx(()=>Column(THIS PART SHOULD BE SCROLLABLE)),
              Obx(()=>Text(THIS PART SHOULD BE SCROLLABLE)),
              Obx(()=>Row(THIS PART SHOULD BE SCROLLABLE)),
           ),
       ),
    ],
 )
Run Code Online (Sandbox Code Playgroud)