checkbox 扩大点击范围

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013597998/article/details/78286087

感慨下。哇,Google + stackoverflow 真的是好用。
要增加点击范围,可以通过TouchDelegate去该控件的父容器去借。

所以,以下方法要是想成功,必要条件是该控件的父容器,必须要够大,但是只要大到能装下你要的点击范围就行。

贴代码:

 public void toSetBigClickArea(View view){
        Rect delegateArea = new Rect();
        View delegate = view;
        delegate.getHitRect(delegateArea);
        delegateArea.top -= 80;           //上方增加范围
        delegateArea.bottom += 80;        //下方增加范围
        delegateArea.left -= 300;          //左边增加
        delegateArea.right += 50;           //右边

        TouchDelegate expandedArea = new TouchDelegate(delegateArea, delegate);
        if (View.class.isInstance(delegate.getParent())) {
            ((View) delegate.getParent())
                    .setTouchDelegate(expandedArea);
        }
    }

参数view,可以是随意控件,所以checkBox肯定是可以的。

猜你喜欢

转载自blog.csdn.net/u013597998/article/details/78286087
今日推荐