1

我有一个表格,每个单元格都有多个按钮。我注意到,由于ImageButtons它们很小,有时用户最终会在他们真正想要单击ImageButton.

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

4

5 回答 5

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);
 }

希望它的帮助。

于 2014-05-11T19:28:50.600 回答
0

您是否尝试在 上设置填充ImageButton?这通常意味着使内容不接触视图的侧面,然后将视图放大一点以进行补偿。

于 2014-05-11T19:14:38.553 回答
0

如果您不想影响视觉范围,请使用TouchDelegate. 这在开发人员文档中有所介绍。

于 2014-05-11T19:17:55.403 回答
0

由于 padding 是视图的内容和它的边框之间的空间,所以 padding 是你的朋友。增加按钮的填充,您会注意到可点击区域变大了。

于 2014-05-11T19:18:11.007 回答
0

设置duplicateParentStateImageButton, 这样当父区域被点击时,ImageButton就会收到点击

android:duplicateParentState="true"
于 2014-05-11T19:18:35.633 回答