Flutter-Ontap InkWell在堆栈内部不起作用

时间:2020-07-12 13:34:29

标签: flutter

我从扑打开始,使用onTap()遇到问题。

我使用adobeXd制作模板,但似乎无法放置GestureDetector和InkWell小部件。

Transform.translate(
        offset: Offset(MediaQuery.of(context).size.width / 30, 132.0),
        child:
        Stack(
          children: <Widget>[
            Transform.translate(
              offset: Offset(MediaQuery.of(context).size.width / 1.7, 1.0),
              child:
              InkWell(
                onTap: (){
                  setState(() {
                    actu = true;
                  });
                  print('ink');

                },
                child: Stack(
                  children: <Widget>[
                    Container(
                      width: MediaQuery.of(context).size.width / 2.85,
                      height: 36.0,
                      decoration: BoxDecoration(
                        borderRadius: BorderRadius.circular(19.0),
                        color: const Color(0x35ffffff),
                      ),
                    ),
                    Transform.translate(
                      offset: Offset(MediaQuery.of(context).size.width / 3.7, 6.0),
                      child:
                      // Adobe XD layer: 'Icones/actualiser' (component)
                      XDIconesactualiser(),
                    ),
                    Transform.translate(
                      offset: Offset(MediaQuery.of(context).size.width / 21.47, MediaQuery.of(context).size.height / 110),
                      child:
                      SizedBox(
                        width: 75.0,
                        height: 27.0,
                        child: Text(
                          'Actualiser',
                          style: TextStyle(
                            fontFamily: 'OpenSans-SemiBold',
                            fontSize: 14,
                            color: const Color(0xffffffff),
                          ),
                          textAlign: TextAlign.left,
                        ),
                      ),
                    ),
                  ],
                ),
              ),
            )
          ],
        ),
      ),

onTap不起作用。似乎是在堆栈或转换中。 你能帮我吗?

编辑:

事件未触发。没有任何事情发生,好像它不存在一样。当我在开发工具中查看树时,出现墨水池,但是当我单击电话时却什么也没发生

The image of my Flutter tree

编辑2:

我想要一个这样的结构

Expected

但是当我取消激活点击功能的偏移量时。我明白了

Reality

2 个答案:

答案 0 :(得分:0)

如果这是您需要的墨水池动画,请从BoxDecoration小部件中删除Container(如果仅用于装饰,则将其全部删除),然后将内部Stack包装在{ {1}}小部件,其颜色设置为原始的包装盒装饰颜色。这对我有用。

Ink

答案 1 :(得分:0)

我遇到了同样的问题。将 Inkwell 的孩子包裹在 IgnorePointer 中解决了这个问题。

在这里解决:Flutter - InkWell not reacting to onTap inside Flexible