transparent_pointer
提供 TransparentPointer 以控制命中测试
spkersten/flutter_transparent_pointer open-source repository details.
以下为英文项目原文快照,最新内容请访问 GitHub。
TransparentPointer is a widget that is invisible for its parent to hit testing, but still allows its subtree to receive pointer events. This is useful to allow a gesture detector that is visually behind another widget to still receive pointer events, while at the same time allowing that other widget to receive those events as well.
In this example, a drag can be started anywhere in the widget, including on top of the text button, even though the button is visually in front of the background gesture detector. At the same time, the button is tappable.
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Stack(
children: [
GestureDetector(
behavior: HitTestBehavior.opaque,
onVerticalDragStart: (_) => print("Background drag started"),
),
Positioned(
top: 60,
left: 60,
height: 60,
width: 60,
child: TransparentPointer(
child: TextButton(
child: Text("Tap me"),
onPressed: () => print("You tapped me"),
),
),
),
],
);
}
}
依赖清单 2 项
{"sdk":"flutter"}{"sdk":"flutter"}先按使用场景筛选,再比较项目活跃情况,最后到原始仓库核对使用要求。
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗