Flutter GestureDetector增大点击事件范围,需要注意的一点。
·
我遇到的情况是这样的,我的点击事件范围只在文字上面起作用,但是我的GestureDetector明明包裹了Container,为什么点击Container别的地方不起作用,只点击Container才起作用。之前的代码是这样的:
Expanded(
child: GestureDetector(
onTap: () {
if (widget.cancelClicklistener != null) {
widget.cancelClicklistener();
}
Navigator.of(context).pop();
},
child: Container(
height: 50.h,
alignment: Alignment.center,
child: Text('取消',
style: TextStyle(
color: Colors.grey, fontSize: FontSizeStyle.big),
),
),
)),
只点击文字起作用,但是点击Container别的地方不起作用。最后找到问题了,需要给Container加一个decoration属性,点击事件范围就变大了,最后的代码如下:
Expanded(
child: GestureDetector(
onTap: () {
if (widget.cancelClicklistener != null) {
widget.cancelClicklistener();
}
Navigator.of(context).pop();
},
child: Container(
height: 50.h,
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius:
BorderRadius.only(bottomLeft: Radius.circular(10.0)),
color: Colors.white,
),
child: Text('取消',
style: TextStyle(
color: Colors.grey, fontSize: FontSizeStyle.big),
),
),
)),
注意,新加了下面几行代码,这样,点击事件范围就变大了:
decoration: BoxDecoration(
borderRadius:
BorderRadius.only(bottomLeft: Radius.circular(10.0)),
color: Colors.white,
),
刚从Android开发转过来,遇到好多”奇奇怪怪“的问题。😔
更多推荐



所有评论(0)