具有透明背景图像的按钮

时间:2019-08-06 10:32:00

标签: android image button flutter dart

我正在尝试为我的应用创建一个“自定义按钮”。 我有一个带有透明背景图像的鸡蛋图像,我需要将此图像作为一个忽略在透明部分上轻击的按钮。

现在,我使用gesturedetetetor,也尝试了inkwell,它们都可以检测出敲击整个图像,包括透明的背面。

Align(
    alignment: Alignment(0, 0.75),
    child: Container(
        width: swidth * 0.75,
        height: sheight * 0.6,
        child: GestureDetector(
            onTap: () {
                setState(() {
                    pushes--;
                });
            },
        child: Image.asset(
        'images/egg.png',
        fit: BoxFit.fill,
    )),
))

3 个答案:

答案 0 :(得分:0)

顺便说一句,您正在实现它将在整个图像上检测到敲击。

我建议您在填充区域的图像上添加透明视图,然后在该视图上添加GestureDetector。这样,您可以避免单击透明区域。

答案 1 :(得分:0)

尝试此代码可以解决您的问题

Row(children: <Widget>[
      GestureDetector(child: Container(
        width: swidth * 0.75,
        height: sheight * 0.6,
      ),onTap: (){
        setState(() {
          pushes--;
        });
      },),
      Image.asset(
        'images/egg.png',
        fit: BoxFit.fill,
      )
    ],)

答案 2 :(得分:0)

在Stackoverflow和Flutter开发中欢迎重要

我对您的问题和问题非常感兴趣,因此我决定通过一个可以使用的新程序包来解决它。

此程序包是我最近对其进行编码的transparent_image_button

您可以将其用作示例

TransparentImageButton.assets( "assets/images/egg.png", width: 200, onTapInside: () => print("You tapped the image."), onTapOutside: () => print("You tapped outside the image."), )

如您所见,您可以在点击图像时设置功能,而在图像之外点击时设置其他功能。

我希望其他人也可以从中受益。感谢您提出问题给我这个想法。