3

我在 PageView 中有一个 ListView,所以我有一个垂直滚动 (ListView) 和一个水平滚动 (PageView)。我的问题是水平滚动比垂直滚动更敏感,执行垂直滚动变得困难,因为它几乎总是被视为横向滚动。

我的想法是限制水平滚动区域,以便垂直滚动在屏幕的最大区域中占主导地位:

我想限制滚动的区域

这可能吗?我该怎么做?

PageController  pageController = new PageController();

return Scaffold
(
    body: Stack
    (
      children: <Widget>
      [
        widfondo(), 
        Column
        (
          children: <Widget>
          [
            widAppBar(context, cuento),
            Expanded
            (
              child: PageView.builder
              (
                itemCount: cantidadDePaginas,
                dragStartBehavior: DragStartBehavior.down,
                //physics: BouncingScrollPhysics(),
                onPageChanged: (index)
                {
                  setState(() 
                  {
                    numeroPagina = ++index;
                  });
                },
                controller: pageController,
                itemBuilder: (BuildContext context, int index)
                {
                  return widCuerpo(context, cuento, index);
                },
              ),
            )
          ],
        )
      ],
    ),
);

  Widget widCuerpo(BuildContext context, Cuento cuento, int numPagina)
  {
    return  ListView
    (
      scrollDirection: Axis.vertical,
      children: <Widget>
      [
        widTituloCuerpo(context, cuento),
        widTextoCuerpo(context, cuento),
      ], 
    );
  }

我看到了其他类似的问题,并且我看到他们使用 PageController,但我不确定是否可以这样做。

提前致谢。

4

0 回答 0