在项目开发工程中,发现有时控件比较小,比如checkBox,ImageView等等,此时需要增大控件的可点击区域:
/**
* 增加控件的可点击范围,最大范围只能是父布局所包含的的区域
*/
public static void addDefaultScreenArea(final View view, final int top,final int bottom,final int left,final int right) { // 增大checkBox的可点击范围
final View parent = (View) view.getParent();
parent.post(new Runnable() {
public void run() {
Rect bounds = new Rect();
view.setEnabled(true);
view.getHitRect(bounds);
bounds.top -= top;
bounds.bottom += bottom;
bounds.left -= left;
bounds.right += right;
TouchDelegate touchDelegate = new TouchDelegate(bounds, view);
if (View.class.isInstance(view.getParent())) {
((View) view.getParent()).setTouchDelegate(touchDelegate);
}
}
});
}
发现这里的解释更加详细,可参考:http://blog.csdn.net/tongcpp/article/details/23450975