我有一张桌子,每个单元格都有多个按钮。我注意到,由于ImageButtons
很小,因此当用户真正想要点击ImageButton
时,有时最终会点击该单元格。
有没有办法扩大Imagebutton
的可点击区域?
答案 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"