首先先写一个方法
public static void setTouchDelegate(final View view, final int expandTouchWidth) {
final View parentView = (View) view.getParent();
parentView.post(new Runnable() {
@Override
public void run() {
final Rect rect = new Rect();
view.getHitRect(rect); // view构建完成后才能获取,所以放在post中执行
// 4个方向增加矩形区域
rect.top -= expandTouchWidth;
rect.bottom += expandTouchWidth;
rect.left -= expandTouchWidth;
rect.right += expandTouchWidth;
parentView.setTouchDelegate(new TouchDelegate(rect, view));
}
});
}
调用即可
//扩大点击范围
//view:控件id
//20:扩大的范围px
setTouchDelegate(view, 20);