有没有办法扩大ImageButton的点击区域?

时间:2014-05-11 19:09:09

标签: android android-button android-imagebutton

我有一张桌子,每个单元格都有多个按钮。我注意到,由于ImageButtons很小,因此当用户真正想要点击ImageButton时,有时最终会点击该单元格。

有没有办法扩大Imagebutton的可点击区域?

5 个答案:

答案 0 :(得分:1)

您可以使用TouchDelegate。

示例:

 Rect delegateArea = new Rect();

 button.getHitRect(delegateArea);

 delegateArea.top -= 60000;
 delegateArea.bottom += 60000;
 delegateArea.left -= 60000;
 delegateArea.right += 60000;

 final TouchDelegate expandedArea = new TouchDelegate(delegateArea,
                    button);

 if (View.class.isInstance(button.getParent())) {
          ((View) button.getParent()).setTouchDelegate(expandedArea);
 }

希望得到它的帮助。

答案 1 :(得分:0)

您是否尝试在ImageButton上设置填充?这通常意味着使内容不会触及视图的两侧,然后只需使视图更大一些就可以补偿。

答案 2 :(得分:0)

如果您不想影响视觉界限,请使用a TouchDelegate。这包含在the developer documentation

答案 3 :(得分:0)

由于填充是视图内容与其边框之间的空格,因此填充是您的朋友。增加按钮的填充,你会注意到可点击区域变大了。

答案 4 :(得分:0)

duplicateParentState设置为ImageButton,以便在点击父区域时,ImageButton会收到点击

android:duplicateParentState="true"