Flutter - Ontap InkWell не работает внутри Stack - PullRequest
0 голосов
/ 12 июля 2020

Я начинаю с флаттера, и у меня проблема с использованием onTap ().

Я использовал adobeXd для создания своих шаблонов, но кажется, что я не могу разместить виджеты GestureDetector и InkWell.

Не работает onTap. Кажется, что это когда он находится внутри стека или преобразования. Вы можете мне помочь?

Изменить:

событие не запускается. Ничего не происходит так, как будто его не было. Когда я смотрю на дерево в инструменте разработки, чернильница появляется, но когда я нажимаю на телефон, ничего не происходит

Изображение моего дерева Flutter

Edit 2:

Я бы хотел такую ​​структуру

Expected

but when I deactivate the offset for the click to work. i get that

Реальность

1 Ответ

0 голосов
/ 12 июля 2020

Если вам нужна анимация с чернильницей, удалите BoxDecoration из виджета Container (или удалите совсем, если используется только для украшения), а внутреннюю Stack оберните в виджет Ink цветом установите исходный цвет оформления коробки. Это сработало для меня.

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: Ink(
          color: const Color(0x35ffffff),
            child: Stack(
              children: <Widget>[
                Container(
                  width: MediaQuery.of(context).size.width / 2.85,
                  height: 36.0,
                ),
        ...
...