我想创建一个包含3个图像按钮的组视图,当我单击一个圆圈时,该圆圈将变大而其他圆圈变小。
 
问题是,当我单击较小的按钮时,最大的按钮代替了click事件。
例如,在这种情况下,顶部按钮将收到点击事件。
 
  如果要使用中间按钮,则必须单击距大按钮较远的地方,它可能在中间按钮的圆之外,如下面的屏幕截图所示。

这是groupview的布局xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/container"
     android:layout_width="200dp"
    android:layout_height="200dp">
    <ImageButton
        android:src="@drawable/blue100"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/mid_circle"
        android:background="@null"
        android:layout_gravity="right|center_vertical" />

    <ImageButton
        android:src="@drawable/green100"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/top_circle"
        android:background="@null"
        android:layout_gravity="center_horizontal|top" />

    <ImageButton
        android:src="@drawable/red100"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/bot_circle"
        android:background="@null"
        android:layout_gravity="center_horizontal|bottom" />
</FrameLayout>


可以在[此处](https://github.com/ttpro1995/Android_ThreeCircleViewGroup/releases/tag/0.1)下载源代码
我希望当我单击较小的按钮时,较小的按钮应该收到click事件,而不是较大的事件。请帮我解决。
谢谢。

最佳答案

发生这种情况是因为底部图像覆盖中间图像android - 圆形图像按钮发生onClick事件(当在其图像外部触摸时),该事件应由附近的按钮接收-LMLPHP

现在的解决方案是您需要根据需要将circlegroupviewframlayout布局宽度200dp更改为250dp。 android - 圆形图像按钮发生onClick事件(当在其图像外部触摸时),该事件应由附近的按钮接收-LMLPHP

我认为我们无法将矩形转换为圆形,但是您可以裁剪图像,除去图像周围的空间,以便覆盖最小的区域。

10-07 19:30
查看更多