我在屏幕上有一个小的
Android ImageButton代表一个图标.问题是很难触及并激活.我不想增加图像本身的大小,但是我想扩展可点击区域并使其更大,因此如果用户足够靠近图像,它将激活onClick事件.如果不在周围的屏幕区域实施onTouch事件,怎么办?
解决方法
您可以将ImageButton包装在另一个ViewGroup中,并在ViewGroup上设置填充.然后,您将收听ViewGroup上的点击.以下是一个例子:
<FrameLayout android:id="@+id/button_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="20dp" > <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/my_button" android:duplicateParentState="true" android:clickable="false" android:focusable="false" /> </FrameLayout>
然后,您将收听R.id.button_layout上的点击,并且您的ImageButton应该收到与父版本相同的所有状态(按下,点击等).