【问题标题】:Flutter how to prevent scroll in a specific area in PageViewFlutter如何防止在PageView中的特定区域滚动
【发布时间】:2020-11-20 10:19:19
【问题描述】:

我有一个带有标签栏作为标题和页面浏览作为正文的页面。我面临的问题是由于 PageView 是可滚动的,并且其中一个页面需要进行签名,当我拖动以在签名小部件上绘图时,它会使整个 PageView 滚动。有没有办法在绘制签名时停止页面浏览滚动?比如停止手势传递给父小部件?

谢谢

我的简单示例代码:

  return Scaffold(
        key: _scaffoldKey,
        appBar: AppBar(
          bottom: ColoredTabBar(
            tabBarBackgroundColor,
            TabBar(
                isScrollable: true,
                controller: _tabController,
                tabs: _tabsInfo.map((EditSafetyPlanTab tabInfo) {
                    return Tab(
                    text: tabInfo.label,
                    );
                }).toList()),
          ),
        ),
        body: PageView.builder(
          controller: _pageController,
          onPageChanged: (index) {
            if (isPageCanChanged) {
            onPageChange(index);
            }
          },
          itemCount: _tabsInfo.length,
          itemBuilder: (context, index) => buildPage(index, _tabsInfo),
        ),
       );

【问题讨论】:

    标签: flutter scroll pageviews


    【解决方案1】:

    你可以使用GestureDetectorbehavior属性:

    GestureDetector(
       behavior: HitTestBehavior.opaque,
       onTap: () { ... },
    )
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-04
    • 2020-09-17
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多