Android扩大点击事件接收区域范围

Android扩大点击事件接收区域范围

如果有些icon或者ImageView,这些View本身很小,就扩大这些事件的接收区域。直接传入需要扩大事件接收区域的view,也可以自定义指定扩大多少尺寸size。默认到的方法是在原View四周增加20pix。

    public static void expandTouchArea(View view) {
        setTouchDelegate(view, 20);
    }

    public static void expandTouchArea(View view, int size) {
        View parentView = (View) view.getParent();
        parentView.post(new Runnable() {
            @Override
            public void run() {
                Rect rect = new Rect();
                view.getHitRect(rect);

                rect.top -= size;
                rect.bottom += size;
                rect.left -= size;
                rect.right += size;

                parentView.setTouchDelegate(new TouchDelegate(rect, view));
            }
        });
    }

猜你喜欢

转载自blog.csdn.net/zhangphil/article/details/80082189