Flutter InkWell:使飞溅区域大于按钮区域

zc0qhyus  于 2023-03-31  发布在  Flutter
关注(0)|答案(1)|浏览(117)

我有一个自定义磁贴,里面有一个Row和两个Flexible小部件。第一个包含一个Text小部件,另一个包含一个Icon Package 在一个InkWell

当我点击图标时,涟漪效果只在InkWell内部传播,但我希望涟漪穿过整个瓷砖。从技术上讲,我可以用InkWell包裹整个瓷砖,但我希望只有瓷砖的右侧可以点击。有没有办法做到这一点?

wmomyfyw

wmomyfyw1#

您可以使用InkWell包裹整个磁贴,并使用GestureDetector小部件检测磁贴右侧的点击。
示例

Widget build(BuildContext context) {
  return InkWell(
    onTap: () {
      // Handle the tap on the left side of the tile
    },
    child: Row(
      children: [
        Flexible(
          child: Padding(
            padding: EdgeInsets.all(8.0),
            child: Text("Tile content"),
          ),
        ),
        GestureDetector(
          onTap: () {
            // Handle the tap on the right side of the tile
          },
          child: Container(
            width: 48.0,
            height: 48.0,
            child: Icon(Icons.favorite),
          ),
        ),
      ],
    ),
  );
}

相关问题