我想创建一个包含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事件,而不是较大的事件。请帮我解决。
谢谢。
最佳答案
发生这种情况是因为底部图像覆盖中间图像
现在的解决方案是您需要根据需要将circlegroupviewframlayout布局宽度200dp更改为250dp。
我认为我们无法将矩形转换为圆形,但是您可以裁剪图像,除去图像周围的空间,以便覆盖最小的区域。