我从扑打开始,使用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不起作用。似乎是在堆栈或转换中。 你能帮我吗?
编辑:
事件未触发。没有任何事情发生,好像它不存在一样。当我在开发工具中查看树时,出现墨水池,但是当我单击电话时却什么也没发生
编辑2:
我想要一个这样的结构
但是当我取消激活点击功能的偏移量时。我明白了
答案 0 :(得分:0)
如果这是您需要的墨水池动画,请从BoxDecoration
小部件中删除Container
(如果仅用于装饰,则将其全部删除),然后将内部Stack
包装在{ {1}}小部件,其颜色设置为原始的包装盒装饰颜色。这对我有用。
Ink
答案 1 :(得分:0)
我遇到了同样的问题。将 Inkwell 的孩子包裹在 IgnorePointer
中解决了这个问题。
在这里解决:Flutter - InkWell not reacting to onTap inside Flexible