为什么手势检测器在点击此容器时不起作用?

时间:2019-07-25 08:34:52

标签: flutter

我已经制成了这排容器,然后使用了手势检测器来检测敲击,但在这里似乎不起作用

我尝试过Inkwell,但没有任何改变

编辑:我尝试用其他小部件(FlatButton)更改整个Buttons行,但未进行任何更改,因此问题似乎出在父类中,但是我不知道这是怎么回事 注意:我无法发布整个父类,因为我的帖子主要是代码

这是父类的要点 https://gist.github.com/A-Siam/79435551b4c3463522e9dd08e44bd833

父班

class _MyAppState extends State<MyApp> {
  PageController pageController;
  List<bool> selected = [true, false, false];
  List<List<bool>> selectionCases = [
    [true, false, false],
    [false, true, false],
    [false, false, true]
  ];
  @override
  void initState() {
    pageController = PageController(viewportFraction: 1);
    super.initState();
  }

  @override
  void dispose() {
    pageController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    double padding = MediaQuery.of(context).padding.top + 50;
    return Scaffold(
      backgroundColor: BackGroundColor,
      body: Stack(
        children: <Widget>[
          CustomAppBar(
            padding: padding,
            color: AppBarColor,
          ),
          Container(
            padding: EdgeInsets.only(top: padding),
            child: ButtonsRow(
              pageController: pageController,
              selected: selected,
            ),
          ),
// some code...

按钮行状态

class _ButtonsRowState extends State<ButtonsRow> {
  @override
  Widget build(BuildContext context) {
    return Row(
      children: <Widget>[
        Expanded(
          child: GestureDetector(
            onTap: (){
              print("please help me");
            },
                      child: AnimatedContainer(
              duration: Duration(milliseconds: 300),
              margin: EdgeInsets.all(8.0),
// some code...

我要实现的是创建此自定义标签栏 enter image description here

1 个答案:

答案 0 :(得分:0)

尝试在您的behavior: HitTestBehavior.translucent,中添加GestureDetector

像下面一样。

GestureDetector(
  behavior: HitTestBehavior.translucent,
  ...
)