版权声明:本文为博主原创文章,未经博主允许不得转载。 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肯定是可以的。