flutter - Flutter如何防止在PageView中的特定区域滚动
问题描述
我有一个带有标签栏作为标题和页面浏览作为正文的页面。我面临的问题是由于 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),
),
);
解决方案
您可以使用以下behavior
属性GestureDetector
:
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () { ... },
)
推荐阅读
- common-lisp - 无法将 quicklisp 与 clozure-cl 一起使用
- python - 在 Apache Spark 中有效地运行“for”循环,以便并行执行
- php - PHP 服务器在应该报告错误时超时
- python - Pandas replace 对列的某些值起作用,而不对其他值起作用
- jekyll - Jeykyll,{%- do-someting -%} 和 {% do-someting %} 有什么区别?
- python - django - 此关系的特定查询或计算
- android - ImportantForAccessibility=false 与 ContentDescription=null
- javascript - 如何在 React js 中找出带有键的数组元素
- android - 在 Flutter 中更改 AppBar 后退图标大小
- flutter - Flutter Archive Plugin 以我的 XML 文件的 Uint8List 格式返回数据